【发布时间】:2015-04-29 09:35:38
【问题描述】:
我有这种情况...
我正在使用 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 脚本正在加载,直到远程脚本完成执行。我的问题是,有没有办法将这些变量发布到该远程主机,然后继续执行脚本?不强制使用 CURL,但我想要一个 PHP 解决方案。谢谢!
【问题讨论】:
-
PHP 默认不是这样工作的。您必须研究进程分叉或使用另一种服务器端语言,如 node.js,它是异步的
-
分叉过程的一个例子:CURL 请求一个页面,该页面执行一些操作并输出结果,该页面分叉自身以继续执行其他操作,该页面停止执行,分叉的进程在后台无人看管,直到完成
-
好的,我想我的问题没有正确提出。我的意思是,有没有办法将这些变量发布到该远程主机,然后继续执行脚本?不强制使用 CURL,但我想要一个 PHP 解决方案。我现在也会更新我的问题。谢谢!
-
Here's an answer 这正是我所指的。