【发布时间】:2010-12-14 22:04:33
【问题描述】:
我无法在 PHP 中启用套接字传输“ssl”。当我运行我的脚本时,我得到了错误:
警告:fsockopen() [function.fsockopen]:无法 连接到 ssl://www.my.site.com:443 (找不到套接字传输 “ssl” - 您是否忘记启用它 什么时候配置PHP?)
我在 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 文件夹中
- 确保 Windows 路径变量包含 PHP 的位置
- 确保所有相关文件的文件权限正确。
几乎每次更改后我都重新启动了 IIS,但我没有运气。有什么明显的我做错了吗?有没有办法在较小的部分解决这个问题? (所以我可以通过排除的过程找出问题...?)
不幸的是,Windows/IIS 不是我的专业领域——我被任命为负责人,因为其他人似乎什么都不知道。
【问题讨论】:
-
php.log 的外观如何,如果您没有启用日志记录,请启用。
-
扩展@RageZ 的评论:php.ini 中是否打开了“display_startup_errors”?
-
是的,我们确实启用了日志记录...但是作为我的 n00b,我完全忘记检查 >_