设置:CentOS 6.6,Apache 2.2.15,php 5.5.21
我正在build立一个php脚本,显示/var/log/httpd/error_log文件的内容。 不幸的是,这是行不通的。 错误消息指出:
第405行的/var/www/domain.com/tools/server-logs-viewer.php中的权限被拒绝
第405行: $f = fopen($filename, "rb");
我已经修改了文件,只是为了检查,仍然没有去。 所以我认为这个消息是指文件所有权。 日志文件由root:root拥有,而php脚本由apache:apache拥有。
我能做些什么来给apache足够的读取文件的权限,而不会影响错误报告过程?
我一直是年龄,我没有做任何事情在PHP中,但没有进一步的信息会有一些系统configuration元素和php.ini设置,我会检查:
日志文件的path
请确保运行apache的用户能够访问文件所在的目录。 这意味着它应该有r + x访问沿path的目录。
php.ini设置
请看看php的fopen手册 :
SELinux,AppArmor
你在运行SELinux还是AppArmor? 这可能会阻止Apache进程访问文件,尽pipe有权限。
最好的祝福