这就是事情,
$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作为可执行文件的参数发送。我对此毫无头绪。
答案 0 :(得分:2)
shell_exec()
返回NULL
;即当它返回非零退出值时。
很可能是这种情况。
要进行调试,请尝试exec()
,它始终返回一个值,它将返回错误。
我的直觉是运行PHP的用户(可能是www-data)无法访问/var/www/html/facedetect/facedetect
或$file;
。