我们在这里从 Slackware 迁移到 CentOS,它工作正常,然后在没有通知的情况下,php 停止执行外部调用,例如对“wc”和“spamc”的调用。所有此类调用在 error_log 上显示为:
sh: /usr/bin/spamc: 权限被拒绝
路径是正确的。我们正确设置了权限,并且 apache 应该能够毫无问题地执行文件。我们不在安全模式下,也没有设置 base_dir。它不是 SELinux,或者至少 sestatus 说 SELinux 已禁用。
概括:
- PHP 无法通过 exec() 或 popen() 执行任何操作
- 二进制文件的路径是正确的。
- 我们没有处于安全模式
- 我们没有设置 base_dir
- 二进制文件的权限允许 apache 用户执行它们
- SELinux 被禁用
- php.ini 中的 disable_functions 为空
- 我们不知道为什么它不起作用
PHP 版本 5.3.3 和 CentOS 5.5
任何人都知道可能会发生什么?提前致谢