在php脚本中,我正在为不同的URL做很多不同的cUrl GET请求(一百个).
从curl_init重用相同的curl句柄会改善性能还是与cURL请求的响应时间相比可忽略不计?
我问的是,因为在当前的架构中,保持相同的cUrl句柄并不容易.
谢谢,
本杰明
什么时候需要关闭curl连接并释放它消耗的资源?
为什么我会问这个问题,因为我被告知,PHP垃圾收集器会完成所有这些,有时不需要关闭数据库连接或调用__destruct方法来释放资源.
从那时起,我真的开始思考我需要在哪里调用呢?目前我对这个问题很感兴趣,因为我为curl编写了一个小型库,我想了解何时需要用户curl_close()函数.
谢谢大家的讨论和解释.
以下脚本将无限期运行,并将通过使用启动php myscript.php.
http://example.com/longpolling.php只会在有东西要通信时才会响应php myscript.php,并且在longpolling.php达到其时间限制之前,下面的curl请求会超时.
我应该关闭并重新打开每个循环的卷曲连接,或者让它无限期地保持打开状态.
<?php
// php myscript.php
$options=[
CURLOPT_URL=>'http://example.com/longpolling.php',
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_CONNECTTIMEOUT => 300,
CURLOPT_TIMEOUT=> 300
];
$ch = curl_init();
curl_setopt_array( $ch, $options );
while (true) {
$rsp = curl_exec( $ch );
// Do something
//curl_close( $ch ); //should I close and reopen?
}
Run Code Online (Sandbox Code Playgroud)