【发布时间】:2013-06-12 15:54:58
【问题描述】:
我有一个通过 exec 调用命令行实用程序的 PHP 脚本。它在我(基于Xubuntu linux)的开发机器上运行良好,但在生产服务器上的(基于CentOS linux)测试环境中却不行。
为了隔离错误,我创建了以下测试脚本:
<?php
$command = "echo test";
$output = array();
exec($command, $output);
foreach ($output as $line)
{
echo "new line: " . $line . "\n";
}
echo "done";
?>
当我通过php test.php 运行它时,我得到以下输出。
done
即似乎 exec 命令不会产生任何输出,就像我的真实脚本中的情况一样。
这种行为的原因是什么?或者到哪里寻找更多信息?
【问题讨论】:
-
您的测试机器是基于 linux 的机器吗?还是窗户?
-
开发环境和测试/生产机器都是基于linux的。我更新了问题以反映这一点。