我们从Slackware转移到CentOS,它工作正常,没有通知,php停止执行外部调用,如调用“wc”和“spamc”。所有此类调用都显示在error_log上:
sh:/ usr / bin / spamc:权限被拒绝
路径是正确的。我们正确设置了权限,并且apache应该能够毫无问题地执行文件。我们在safe_mode上 NOT ,我们没有设置base_dir。它不是SELinux,或者至少sestatus说SELinux被禁用了。
摘要:
PHP版本5.3.3和CentOS 5.5
任何人都知道可能发生的事情? 提前致谢
答案 0 :(得分:2)
SELinux阻止您尝试运行它们。我建议您制定规则,允许您运行所需的外部命令子集并将其作为模块加载。
答案 1 :(得分:1)
发现错误。
我试图执行/ usr / bin / tidy例如,usr文件夹有644权限,类似于我书中的lovecraftian恐怖。我可以工作,因为我是根。
我疯狂地想出来并决定检查从root /文件夹到整齐二进制文件的命令的所有路径组件的权限,我发现所有权限设置正确但usr文件夹权限完全搞砸了。< / p>
这是固定的。
答案 2 :(得分:0)
PHP是否在服务器上以Apache身份运行?我以为它像没有人一样......
答案 3 :(得分:0)
https://serverfault.com/questions/207989/php-cant-execute-any-external-command/208001#208001
一般来说,除了你已经将php编译为fastcgi,dso等之外,在centOS上的PHP是无人运行的。