微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在全局设置或绕过PHP中的CURLOPT_CONNECTTIMEOUT?

有没有办法为所有cURL请求以某种方式全局设置CURLOPT_CONNECTTIMEOUT?

我有一个问题,在升级PHP 7.2之后,某些软件的cURL现在在10s连接超时之前失败了.我不能确切地说是什么改变了这种行为,但我需要以某种方式全局设置a)导致现在超时的原因,或者b)增加超时限制.

任何影响这个的PHP.ini设置?

编辑:
设置default_socket_timeout似乎不会影响这一点.

编辑:
与FYI相同的更多wordpress细节问题:https://wordpress.stackexchange.com/questions/330013/curl-28-error-after-switch-from-to-brew-php-7-2-on-localhost

解决方法:

Any PHP.ini settings that can affect this?

不这么认为.如果您在PHP.ini中安装了PCEL Runkit并运行了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;');

>请注意,很多人会认为这是一个邪恶的黑客,从技术上改变了PHP内置函数的行为n ..

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐