使用cake命令出错127

时间:2015-10-21 12:44:56

标签: php shell cakephp server sysadmin

我使用CakePHP 2.x创建一个Shell任务,我想通过Controller执行它。因此,我创建了一个在cli上执行命令以运行Shell Task的函数。这是我的文件:

// I want to launch it in background task
$pid = exec(APP . 'Console/cake {myCommand} {myTask} {argument} >/dev/null 2>&1 & echo $!', $output, $return_var);

debug($pid);
debug($output);
debug($return_var);

它呈现:

// line xx
''
// line xx
array()
// line xx
(int) 127

我尝试只启动cake命令,如下所示:

$pid = exec(APP . 'Console/cake', $output, $return_var);

我得到了同样的结果。似乎shell没有找到完整的路径,但它很奇怪,因为它是正确的路径。我在我的机器上进行了开发测试,效果很好。

你有什么想法可以来自吗?

由于

1 个答案:

答案 0 :(得分:0)

172是你想象的实际含义,见http://tldp.org/LDP/abs/html/exitcodes.html

  

但这很奇怪,因为它是正确的道路

老实说,我怀疑这个系统在说谎。因此,请检查目标计算机上的路径,而不仅仅是在开发环境中。

同时检查是否允许执行脚本的用户这样做。 Linux权限可以很有趣。您可以尝试为cake文件设置777,并确保它也是可执行文件。