是否可以通过某种方式为所有cURL请求全局设置Startup
?
我遇到一个问题,即在升级到PHP 7.2之后,某些软件的cURL现在会在连接超时10秒后失败。我无法确切地说出是什么改变了此行为,但是我需要以某种方式全局设置a)导致此问题现在超时的原因,或b)增加超时限制。
是否有任何CURLOPT_CONNECTTIMEOUT
设置可能会影响此设置?
编辑:
设置php.ini
似乎并没有影响。
编辑: 仅供参考,同样的问题,更多的Wordpress细节:https://wordpress.stackexchange.com/questions/330013/curl-28-error-after-switch-from-to-brew-php-7-2-on-localhost
答案 0 :(得分:0)
是否有任何会影响到此的php.ini设置?
不这么认为。如果您已安装PCEL Runkit并在php.ini中安装了runkit.internal_override=1
,则可以将其添加到auto_prepend_file
php.ini文件中,这将使您自己的超时成为全局默认值:
<?php
runkit_function_rename('curl_init','curl_original_init');
runkit_function_add ( 'curl_init' , '$url=null','$ch=curl_original_init($url);curl_setopt_array($ch,array(CURLOPT_TIMEOUT=>100,CURLOPT_CONNECT_TIMEOUT=>100));return $ch;');
an evil hack
,从技术上改变了所有php内置函数的行为。