这几天迁移手中的一个站点,遇到一个问题,就是网站在新搭建的PHP环境下无法正常打开。网站目录下的静态文件能访问,就是所有PHP文件都无法访问,发挥404找不到页面提示。重新搭建环境都不行,只要把站点一上传上去就无法访问,网上找了很久都没找到解决方案。最后一个偶然操作被我决解了,发现了症结所在,就是网站根目录下的一个user.ini文件。只要把这个文件删除就能够正常访问了,如果删除了还不能访问,就把PHP重启一下即可。
打开这个文件里面内容只有一行:
open_basedir=/www/wwwroot/ucenter.hfgld.net/:/tmp/:/proc/
看内容就大概知道,这行代码是定义网站根目录的,而只要这里指定的根目录与实际目录不一致就无法访问。网上查了下,PHP至5.3版本开始支持每个网站设置单独配置文件,PHP除了读取php.ini这个核心配置文件之外,还会扫描每个网站目录下的ini文件,并且优先级高于php.ini。
啥? .user.ini 删不掉
[root@Tech1024]# rm -rf .user.ini
rm: cannot remove ‘.user.ini’: Operation not permitted
来看一下,该文件的属性
[root@Tech1024]# lsattr .user.ini
----i--------e-- .user.ini
没错,文件被锁定了,不能修改,那么我们去除文件锁定属性
[root@Tech1024]# chattr -i .user.ini
转载于https://www.cnblogs.com/xiaogou/p/11663138.html
若有侵权,联系删帖