最近做了一个项目需要 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”