【问题标题】:exec('curl url') function not working from php (Laravel) applicationexec('curl url')函数在php(Laravel)应用程序中不起作用
【发布时间】: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


【解决方案1】:

您不应该以这种方式使用 curl。
使用不带 exec 的 CURL:
http://php.net/manual/en/curl.examples-basic.php

你正在使用作曲家,所以你也可以使用https://github.com/guzzle/guzzle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2011-07-15
    • 2019-04-08
    • 2021-06-23
    相关资源
    最近更新 更多