我有这种情况......
我正在使用CURL将一些变量发布到远程主机。下面你可以看到我的PHP脚本如何:
本地PHP脚本:
$url = 'http://somesite.com/something.php';
data = array ('key1' => 'string1',
'key2' => 'string2',
'key3' => 'string3');
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_exec ($ch);
curl_close ($ch);
// Some code to do other stuff.
远程PHP脚本:
$string1 = $_POST['key1'];
// If this string exists in a very big folder of text files.
sleep(30);
// Do something with the file that contain the string.
我的问题是本地php脚本正在加载,直到远程脚本完成执行。我的问题是,有没有办法将这些变量POST到该远程主机,然后继续执行脚本?使用CURL不是强制性的,但我想要一个PHP解决方案。谢谢!
答案 0 :(得分:0)
为代码添加超时:
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
这将在1秒后继续执行代码的其余部分。
CURLOPT_TIMEOUT允许cURL函数的最大秒数 执行。
或者您可以将其用于毫秒:
CURLOPT_TIMEOUT_MS允许cURL的最大毫秒数 要执行的函数。如果构建libcurl以使用标准系统 名称解析器,连接的那部分仍将使用全秒 超时的分辨率,允许的最小超时时间为一秒。
您可以阅读here的进一步说明。
一旦其他脚本启动,它将继续而不必等待完成输出。