我有一些 mod_perl 代码试图访问 /tmp 下的文件……但它会引发“没有这样的文件或目录”错误。我在我的代码中添加了一个“ls -al /tmp”来查看 Perl 在目录中看到的内容,它只给了我 . 和 .. :
drwxrwxrwt. 2 root root 6 Jan 21 13:36 .
drwxrwxrwx. 18 root sysadmin 4096 Nov 22 22:14 ..
实际上,/tmp 下有混合文件,包括一些由 Apache 用户拥有的文件。将我的代码更改为“ls -al /”会给出正确的目录列表(什么都没有)。
我尝试 sudo'ing 到 Apache 用户,并且可以在 /tmp 文件下看到,所以它必须与 mod_perl 相关。
想法?我在 CentOS 7 下运行 mod_perl 2.0.8 和 Apache 2.4。SELinux 设置为 permissive。