linux下php执行shell_exec输出null的原因

最近做了一个项目需要 php+shell_exec() 调用C可执行文件,在windows下能正常调用到,然而转移到centos上时结果一直是null,各种尝试后总结如下:

1.检查safe_mode=off

2.C可执行文件要用全路径,比如 shell_exec(‘/app/demo_c’),而不是只写 shell_exec(‘demo_c’)

3.可以在shell_exec()括号内字符串的最后加上 2>&1 以返回STDERR以及STDOUT。例如 shell_exec(‘/app/demo_c 2>&1’) 它就报 “sh: demo_c: command not found\n”

此条目发表在服务器分类目录,贴了标签。将固定链接加入收藏夹。

发表评论