我在PHP中启用套接字传输“ssl”时遇到问题。当我运行我的脚本时,我收到错误:
警告:fsockopen() [function.fsockopen]:无法 连接到ssl://www.my.site.com:443 (无法找到套接字传输 “ssl” - 你忘了启用它吗? 什么时候配置PHP?)
我正在Windows上运行IIS6,这是我到目前为止所做的尝试让它工作:
我几乎每次改变后都重新启动了IIS,但我没有运气。有什么明显的我做错了吗?无论如何要在较小的部分进行故障排除吗? (所以我可以通过消除过程找出问题......?)
不幸的是,Windows / IIS不是我的专业领域 - 我一直负责,因为似乎没有人知道任何事情。
答案 0 :(得分:67)
我在使用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
。之后它运作良好。
答案 1 :(得分:21)
成功!
检查日志文件并确保php_openssl.dll的权限正确后,我搜索了警告并发现了更多要尝试的事项。
所以我:
我不确定这些问题中的哪一个解决了我的问题,但现在肯定已经解决了! :)
我在这个页面上找到了这些东西: http://php.net/manual/en/install.windows.extensions.php
感谢您的帮助!
答案 2 :(得分:7)
在Laravel 4尝试使用SSL加密发送电子邮件时遇到同样的问题。
在Windows 7 64bit上使用WAMPServer 2.2我只在php.ini中启用了php_openssl,重新启动了WAMPServer并且运行良好。
以下是:
答案 3 :(得分:7)
取消注释 extension = php_openssl.dll 重启Apache服务,这应该有帮助。
答案 4 :(得分:1)
我刚刚在搞乱laravel的同时遇到了这个问题。
我正在使用wampserver for windows,并且必须将/bin/apache/apacheversion/bin/php.ini文件复制到/bin/php/phpversion/php.ini
答案 5 :(得分:0)
我正在使用XAMPP并遇到相同的错误。我已经完成所有这些步骤,添加了环境变量路径,将dll的每个目录都复制到了/ php,/ apache / bin,/ system32,/ syswow64等。但是仍然出现此错误。
然后,在检查了apache错误日志后,我注意到在路径中使用括号的问题。
PHP:语法错误,C:\ Program Files中出现意外的'(' (other)\第707行的xampp \ php \ php.ini 0服务器证书没有 包含与服务器名称匹配的ID
如果服务器已安装在“ Program Files(x86)”目录中,则由于括号未转义,可能会发生相同的错误。
要解决此问题,请打开php.ini文件并找到包含“ include_path”的行,并用双引号将路径引起来以解决此错误。
include_path =“ C:\ Program Files(other)\ xampp \ php \ PEAR”