我有一个脚本,通过fsockopen提取数据:$ f = fsockopen (ssl://www.url.org的443美元errno, errstr美元);
如果我在命令行上从脚本运行此命令,$f将返回一个有效的资源。如果我在不使用ssl的情况下运行它,它将返回一个有效的资源。如果我通过web运行它,$f返回布尔值false。
是什么阻止它通过web成功运行?
我能够与服务器系统管理员一起工作并找到问题的原因。
web服务器运行PHP 5.6,但通过SSH运行时,使用PHP 5.3。PHP 5.6上的fsockopen的问题是该服务无法找到全局CA证书。我们必须更新5.6配置来正确配置这些。我猜它是通过命令行在5.3中工作的,因为旧的配置仍然存在。