如何在使用Curl和PHP时限制同时线程?
答案 0 :(得分:2)
您可以使用内置任何内置功能,但您可以存储当前活动会话数量的计数。打开卷曲会话后,您会增加计数,当您收到回复并关闭会话时,您会减少计数。
例如,您可以将计数存储在文件中。只需打开文件,读取计数,增加或减少它,然后再将其保存在文件中。
答案 1 :(得分:1)
我使用的是这样的shell_exec
函数:
$max_threads = 30;
if(shell_exec('ps -ef | grep "curl" | wc -l') < $max_threads)) {
shell_exec('curl http://www.google.com');
}
if语句将检查计算机上与“curl”对应的当前工作线程数。
但这意味着您将通过shell_exec函数而不是通过PHP API启动curl。
答案 2 :(得分:1)
您可以使用curl_multi_ *函数同时处理多个curl句柄,设置18个会话并在一堆中执行它们。取决于任务。