没有启用PHP中的套接字传输“ssl”

我无法启用PHP中的套接字传输“ssl”。 当我运行我的脚本,我得到的错误:

警告:fsockopen()[function.fsockopen]:无法连接到ssl://www.my.site.com:443(无法find套接字传输“ssl” – 你忘了configurationPHP时启用它? )

我在Windows上运行IIS6,这是我迄今为止所做的工作:

  • 在php.ini中取消注释php_openssl.dll和php_sockets.dll扩展
  • 确保PHP正在加载我修改的ini文件(这是,它肯定是加载其他扩展,所以我相当确信这不是问题)
  • 确保php_openssl.dll和php_sockets.dll在正确的位置
  • 将ssleay32.dll和libeay32.dll复制到主PHP文件夹,WINDOWS文件夹和WINDOWS / system32文件夹
  • 确保Windowspathvariables包含PHP的位置
  • 确保所有相关文件的文件权限是正确的。

几乎每次更改后,我都重新启动了IIS,但是我一直没有运气。 有什么明显的,我做错了吗? 有没有解决这个小部分? (所以我可以通过消除的过程找出问题…?)

不幸的是,Windows / IIS不是我的专业领域 – 我已经负责,因为没有人知道任何东西。

我使用Xampp 1.8.1服务器,在命令行中使用PHP 5.4.0在Windows 7中遇到问题。 这就是我所做的:

  1. php.ini-production重命名为php.ini (位于C:\ xampp \ php \文件夹中)
  2. 编辑php.ini并取消注释extension_dir=ext
  3. 另外取消extension=php_openssl.dll

之后,它工作正常。

成功!

检查日志文件,并确保php_openssl.dll的权限是正确的,我GOOGLE了警告,发现更多的东西尝试。

所以我:

  • 将C:\ PHP \ ext添加到Windowspath中
  • 将libeay32.dll和ssleay32.dll添加到C:\ WINDOWS \ system32 \ inetsrv
  • 重新启动服务器

我不确定这些问题中的哪一个能解决我的问题,但现在已经确定了! 🙂

我发现这些东西在这个页面上尝试: http : //php.net/manual/en/install.windows.extensions.php

谢谢你的帮助!

在XAMPP版本1.7.4中,服务器在php ini文件中没有extension = php_openssl.dll行。 我们必须在php.ini文件中添加extension = php_openssl.dll

在尝试使用SSLencryption发送电子邮件的Laravel 4中遇到同样的问题。

在Windows 7 64bit上有WAMPServer 2.2我只在php.ini中启用了php_openssl,重新启动了WAMPServer并完美地工作。

如下:

  • 点击WampServer – > PHP – > PHP扩展 – > php_openssl
  • 重新启动WampServer

只需取消注释扩展= p​​hp_openssl.dll重新启动Apache服务,这应该有所帮助。

刚才我也碰到这个问题,一边搞乱laravel。

我正在使用Windows的wampserver,并不得不将/bin/apache/apacheversion/bin/php.ini文件复制到/bin/php/phpversion/php.ini