没有启用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中遇到问题。 这就是我所做的:
- 将
php.ini-production
重命名为php.ini
(位于C:\ xampp \ php \文件夹中) - 编辑
php.ini
并取消注释extension_dir=ext
。 - 另外取消
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
只需取消注释扩展= php_openssl.dll重新启动Apache服务,这应该有所帮助。
刚才我也碰到这个问题,一边搞乱laravel。
我正在使用Windows的wampserver,并不得不将/bin/apache/apacheversion/bin/php.ini文件复制到/bin/php/phpversion/php.ini