socket transport ssl in php not enabled

socket transport ssl in php not enabled  using -'php,ssl,iis-6,fsockopen'

I'm having trouble enabling the socket transport "ssl" in PHP.  When I run my script, I get the error:

  Warning: fsockopen()
  [function.fsockopen]: unable to
  connect to ssl://
  (Unable to find the socket transport
  "ssl" - did you forget to enable it
  when you configured PHP?)

I'm running IIS6 on Windows and this is what I've done so far to try to get it working:

uncommented the php_openssl.dll and php_sockets.dll extensions in php.ini
made sure PHP was loading the ini file I made changes to (it is, and it's definitely loading other extensions, so I'm fairly sure this isn't the problem)
made sure php_openssl.dll and php_sockets.dll were in the correct location
copied ssleay32.dll and libeay32.dll to the main PHP folder, the WINDOWS folder and the WINDOWS/system32 folder
made sure the Windows path variable included the location of PHP
made sure the file permissions were correct on all the relevant files.

I've restarted IIS after pretty much every change, but I haven't had any luck.  Is there anything obvious that I'm doing wrong?  Is there anyway to troubleshoot this in smaller parts?  (So I can figure out the problem by the process of elimination...?)

Unfortunately Windows/IIS aren't my area of expertise--I've been put in charge because nobody else seems to know anything.

asked Sep 16, 2015 by kinnari
0 votes

5 Answers

0 votes

I was having problem in Windows 7 with PHP 5.4.0 in command line, using Xampp 1.8.1 server. This is what i did:

  1. Rename php.ini-production to php.ini (in C:\xampp\php\ folder)
  2. Edit php.ini and uncomment extension_dir=ext.
  3. Also uncomment extension=php_openssl.dll.

After that it worked fine.

answered Sep 16, 2015 by dhananjayksharma
0 votes


After checking the log files and making sure the permissions on php_openssl.dll were correct, I googled the warning and found more things to try.

So I:

  • added C:\PHP\ext to the Windows path
  • added libeay32.dll and ssleay32.dll to C:\WINDOWS\system32\inetsrv
  • rebooted the server

I'm not sure which of these fixed my problem, but it's definately fixed now! :)

I found these things to try on this page:

Thanks for your help!

answered Sep 16, 2015 by shikhar jain
0 votes

In XAMPP Version 1.7.4 server does not have extension=php_openssl.dll line in php ini file. We have to add extension=php_openssl.dll in php.ini file

answered Sep 16, 2015 by rajeshujade
0 votes

Ran into the same problem on Laravel 4 trying to send e-mail using SSL encryption.

Having WAMPServer 2.2 on Windows 7 64bit I only enabled php_openssl in the php.ini, restarted WAMPServer and worked flawlessly.

Did following:

  • Click WampServer -> PHP -> PHP extensions -> php_openssl
  • Restart WampServer
answered Sep 16, 2015 by r3tt
0 votes

I also ran into this issue just now while messing with laravel.

I am using wampserver for windows and had to copy the /bin/apache/apacheversion/bin/php.ini file to /bin/php/phpversion/php.ini

answered Sep 16, 2015 by balvant maurya