cURL/PHP请求执行50%的时间
发布时间:2020-12-14 01:55:04 所属栏目:Linux 来源:网络整理
导读:在全部搜索之后,我无法理解为什么发给启用远程SSL的主机的cURL请求仅在我的情况下成功的时间的50%左右.下面是这样的情况:我有一系列cURL请求,所有这些请求都发布到HTTPS远程主机,在我使用 PHP CLI运行的单个 PHP脚本中.有时,当我运行脚本时,请求会成功执行
在全部搜索之后,我无法理解为什么发给启用远程SSL的主机的cURL请求仅在我的情况下成功的时间的50%左右.下面是这样的情况:我有一系列cURL请求,所有这些请求都发布到HTTPS远程主机,在我使用
PHP CLI运行的单个
PHP脚本中.有时,当我运行脚本时,请求会成功执行,但由于某些原因我运行它的大部分时间,我从cURL得到以下错误:
* About to connect() to www.virginia.edu port 443 (#0) * Trying 128.143.22.36... * connected * Connected to www.virginia.edu (128.143.22.36) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac * Closing connection #0 如果我再次尝试几次,我会得到相同的结果,但经过几次尝试后,请求将成功完成.之后再运行脚本会导致错误,并且模式会继续.研究错误’alert bad record mac’并没有给我带来任何帮助,而且由于脚本偶尔会运行,我在SSL问题上犹豫不决. 我在Ubuntu Server 10.04上安装了php5和php5-curl,以及最新版本的openssl.就cURL特定选项而言,CURLOPT_SSL_VERIFYPEER设置为false,并且CURLOPT_TIMEOUT和CURLOPT_CONNECTTIMEOUT都设置为4秒.进一步说明这个问题的事实是我的Mac OS X开发机器上出现了同样的情况 – 请求只能通过~50%的时间. 解决方法
远程主机可能不是真正独特的主机.也许它是某种负载平衡解决方案,有几台服务器接收传入的请求.
是什么让我觉得可能是错误信息中的’mac error’.这可能意味着远程主机mac地址在SSL否定仍在运行时已更改.这可以解释有时你没有任何问题. 但也许不是:-) SSL问题很难找到. 我不明白你对prefork MPM vs Worker MPM的回答,如果你在cli模式下运行PHP,你的apache MPM没有被使用,你甚至不使用apache. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |