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
标志以使其不考虑终端大小。
我创建了一个文件 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
标志以使其不考虑终端大小。