【发布时间】:2018-01-23 13:02:44
【问题描述】:
我正在使用 Laravel 5 进行开发。
我有这样的结构:
里面的代码:
exec("curl http://localhost/public/action/test");
-
http://localhost/action/{param} 页面:
里面的代码:
$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”根本没有执行。
附:
为什么我不使用curl_exec(),因为我尝试制作类似于多线程的东西,因为我知道exec() 在另一个进程中执行,但curl_exec() 不是。
附言 为什么我不使用 pthread 库,因为无法将我们的项目切换到 7.2 php 版本。
【问题讨论】:
-
什么指示您,该命令没有运行?能否提供
exec()的返回值或潜在错误?执行 PHP 脚本时,您是否收到任何警告或通知级别的信息?
标签: php laravel curl exec php-curl