1

事情是这样的,

$file="myjpg.jpg";
$runme="/var/www/html/facedetect/facedetect ".$file;
$output=shell_exec($runme);
var_dump($output);

转弯

NULL

但实际上,通过 ssh 运行的完全相同的命令需要一点时间才能完成,大约 15 秒,它确实会返回一个输出。

所以我认为 PHP 在完成之前不会等待并退出。

可以做些什么来解决这个问题?ini中的任何特殊设置,东西。

或者是否存在与 shell_exec 不发送 myjpg.jpg 作为可执行文件的参数有关的未命中配置。我只是对此一无所知。

4

1 回答 1

2

shell_exec()NULL命令失败时返回;即当它返回非零退出值时。

这很可能是这种情况。

要调试,尝试exec()总是返回一个值,它会返回错误。

我的直觉是运行 PHP(可能是 www-data)的用户无法访问/var/www/html/facedetect/facedetect或无法访问。$file;

于 2013-03-06T19:03:54.930 回答