PHP fopen()权限被拒绝

问题描述 投票:0回答:1

我是一名PHP学习者,正在使用文件,但由于存在“权限被拒绝”错误,因此无法在自己的服务器中打开文件。我正在使用fopen()函数:fopen('file.txt', 'r+');

我在CentOS中使用Apache 2.4.37和PHP 7.2.11。我已经在互联网上进行了大量搜索,但是没有任何效果,我安装了fpm,尝试使用其他PHP版本,检查allow_url_fopen是否已打开,重新安装了PHP和Apache,确保所有权限都确定。我也将VM安装在其他CentOS上,但是问题也出在它上,然后我尝试使用Ubuntu,它工作正常,但是我的服务器在CentOS上运行。

php apache centos
1个回答
0
投票

好吧,我整天都在搜索,但最终我解决了。问题出在SELinux上。

我不知道为什么,但是SELinux默认进入强制模式,但是当我关闭它时,所有问题都解决了。如果您出于安全原因不想关闭它,可以设置权限,但是对于初学者来说,它是一种高级功能。我在这里找到了如何设置这些权限的方法: https://serverfault.com/a/819370

如果您不想与SELinux对抗,可以通过编辑/etc/sysconfig/selinux将其关闭并将permissive(推荐)或disabled放在SELINUX=之后

如果您想了解有关SELinux的更多信息,DigitalOcean上有一篇非常不错的文章:https://www.digitalocean.com/community/tutorial_series/an-introduction-to-selinux-on-centos-7

© www.soinside.com 2019 - 2024. All rights reserved.