php exec 工作与 cli 和 cron 不同

php exec work is difference from cli and cron

我创建了一个文件 test.php 并写了一些代码

    $output = [];
    exec('ps aux', $output);
    var_dump($output);

当我 运行 它从 cli 为

php test.php

我得到的结果是正确的,例如

root 60826 0,0 0,0 12568 1612- IJ 21:14 0:00,00 cron: running job (cron)

但是如果它添加到 crontab 中,我将响应写入文件,可以看到字符串被截断了。例子

root 60826 0,0 0,0 12568 1612- IJ 21:14 0:00,00 cron: running j

我的 OS FREEBSD

默认情况下 ps 实用程序会尝试猜测终端大小并据此削减输出。尝试添加 -ww 标志以使其不考虑终端大小。