【问题标题】:php exec crash with no outputphp exec崩溃没有输出
【发布时间】:2019-02-22 20:07:31
【问题描述】:

我需要检查为什么我的 exec 函数会停止我的 php 脚本。

我在 HTTP 查询中在“exec”函数中调用了一个 bat 文件(但我的 passthru、system 和 proc_open 有问题),2 分钟后我得到一个错误代码 500(没有详细信息)。但是我的 bat 文件总是在后台运行(我可以看到创建的文件......) 我是这样使用它的:

exec('cmd /c myScript.bat "myParam" 2>&1 &', $output);

在 $output 我什么都没有,在 php error_log 什么都没有...我已经添加了这个参数:

ini_set("display_errors", 1);
ini_set("track_errors", 1);
ini_set("html_errors", 1);
set_time_limit(0);
error_reporting(E_ALL);

同样的结果...

我使用的是 PHP 7.2 和 IIS 8。

【问题讨论】:

  • 2>&1& 后缀不太可能在 Windows 上运行。使用 Powershell 作为包装器或代替 CMD 可能会更幸运。还要先在 CLI 上进行测试。检查 IIS 的 error.log(或使用 Apache;)
  • 感谢您的帮助。 ;)
  • 如果您想显示更多详细信息,您可以编辑答案(可能有利于其他/未来用户)。

标签: php process exec


【解决方案1】:

OP found 找到了 2 分钟超时问题的解决方案:

  • 问题出在 IIS 的配置中,在 applicationHost.config 中。
  • 我必须在正确的 FastCgi 中更改 activityTimeOut

【讨论】:

    猜你喜欢
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多