我有一个具有这些权限的文件 (0644)
-rw-r--r-- 1 root root
所以根据我的理解,这个文件应该可供任何人阅读。
现在我有了这段代码:
file_get_contents('/path/to/file');
它给了我这个
Warning: file_get_contents(...): failed to open stream: Permission denied in ...
我错过了什么?
我在 www-data
下的网络服务器上运行它。
最佳答案
可能的原因及解决方案:
文件路径中的文件夹需要有读取权限
解决方案:为整个文件夹层次配置正确的权限。另见 this remark在 PHP 安全模式下。
读取文件需要执行权限
很奇怪,但是this happens .
解决方案:配置文件和文件夹的执行权限。
Access control lists对于服务器没有配置
解决方案:正确配置它们。
关于PHP无法读取具有读取权限的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39846827/