exec(' curl url')功能无法从php(Laravel)应用程序运行

时间:2018-01-23 13:02:44

标签: php laravel curl exec php-curl

我正在使用Laravel 5进行开发。

我有这样的结构:

代码里面的

exec("curl http://localhost/public/action/test");
  • http://localhost/action/ {param} page:

    代码里面的

    $rand = rand(1, 5); sleep($rand); Storage::append('result.txt', 'Time: ' . time() . '; Rand: ' . $rand . "; RowId: " . $id); return 'Time: ' . time() . '; Rand: ' . $rand . "; RowId: " . $id;

如果我在cmd curl http://localhost/public/action/test中运行此命令,一切正常,result.txt文件已创建,我从return语句得到响应。如果我尝试从http://localhost/some/random/url的exec()应用程序运行,似乎" action / {param} page"根本没有执行。

P.S。 为什么我没有使用curl_exec(),因为我尝试创建类似于多线程的东西,因为我知道exec()在另一个进程中执行,但curl_exec()没有。

P.S.S。 为什么我不使用pthread库,因为无法将我们的项目切换到7.2 php版本。

1 个答案:

答案 0 :(得分:1)

你不应该这样使用卷曲。
在没有exec的情况下使用CURL:
http://php.net/manual/en/curl.examples-basic.php

您正在使用作曲家,因此您也可以使用https://github.com/guzzle/guzzle