PHP无法读取具有读取权限的文件

标签 php linux ubuntu permissions filesystems

我有一个具有这些权限的文件 (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/

相关文章:

linux - 目录不存在,但显然存在

docker - 带有自托管 Ubuntu 机器 : docker fails 的 Azure DevOps

python - vim在ubuntu Precision 64上安装有关python2.7的错误

php - 错误 : HTTP 0 Error: HTTP 0 http://127. 0.0.0:7212/

php - MYSQL 请求是否应该分组

linux - Ubuntu 14.04 忽略内核路由

php - Mysql在Mysql客户端查询成功但通过PHP查询失败

c++ - 关闭导致段错误的文本文件和 C++ 中 linux 下的 `glibc detected`

php - 使用 tcpdf 创建 PDF 在 iphone 上显示空白

php - 从目录中为所有类生成测试