Composer and Wamp – Unable to find the socket transport “ssl”

Just a quick post after something regarding wamp I completely forgot about.

I was using composer to install a fresh copy of Silverstripe 3, which worked fine until I tried to use composer to search packagist for related packages:

[code]composer search silverstripe[/code]

The console came back with the following error:

The “” file could not be downloaded: failed to open stream: Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?

Using the wamp tray icon, I had enabled openssl under php extensions, and ssl under apache modules. My phpinfo was showing ssl under Registered Stream Socket Transports. So what was the problem?

Googling the error specific to wamp netted very little, until I came across a post that reminded me that wamp, by default, has two php.ini files. One located in /bin/php/[version]/, and another located in /bin/apache/[version]/bin. Apache (e.g. using php through a browser) uses the former ini file. Which is why I saw no problem in my phpinfo.

Depending on how your PATH is set on Windows, php-cli uses the latter ini file. On manually checking this file, I found that openssl was not enabled. And enabling it allowed the above composer command to work fine.

Note to self – Work out a unified php.ini usage so I only have to rely on one configuration.

Installing PEAR and PHPUnit on Windows 7 (WAMP)

Just a quick and dirty walkthrough for the end goal of installing PHPUnit on a Windows 7 machine running WAMP. These steps should be fine for other versions of Windows and WAMP. Really the structure of the stack does not have a huge impact on the installation of both PEAR and PHPUnit.

Continue reading

Skype Toolbar Markup Injection – How to block and prevent it

Skype is a service I have a special love for. However, like all technology, sometimes it can be a little too intrusive all in the name of simplifying things for users (And making money!)

One of which can impact on a developer’s (or designer’s) life. The automatic markup injection that the browser plugin performs on phone numbers displayed on websites, to give users a two click method of making a call using the Skype service.

Continue reading