安装FastAdmin时报当前权限不足,无法写入配置文件database.php (open_basedir 问题)

发布于 2018-02-04 02:34:50

有部分小伙伴在安装FastAdmin时报以下错误
https://cdn.forum.fastadmin.net/uploads/201802/04/1d907541adbc79cd60553f3802922380

当前权限不足,无法写入配置文件application/database.php

这基本上可以判断是由于没有文件写权限open_basedir限制造成的。如果网页顶端直接有open_basedir字眼则可以确定是open_basedir权限限制造成的。

如果你的服务器使用的是宝塔面板,可以参考下
#如何使用BT面板(宝塔面板)安装FastAdmin?
#宝塔面板下安装fastadmin步骤

解决办法:
首先是文件没有写权限,这在Windows下基本排除,先查看你的ApacheNginx的运行用户,例如是www-data,则可以执行以下命令

chown www-data:www-data application/database.php
chmod u+w application/database.php

其次就是open_basedir限制了访问目录
请使用phpinfo检查open_basedir的值,一般情况下为no value,如果有值请检查是否包含了FastAdmin项目所在的目录。可以在php.ini中找到open_basedir,将FastAdmin项目目录加入到其中,注意不是public目录。

如果你使用的是Nginx,可以尝试在对应站点配置文件中添加fastcgi_param

location ~ \.php {                                                                        
    ......                                        
    fastcgi_param  PHP_VALUE  "open_basedir=/var/www/yoursitepath/:/tmp/:/proc/";
    ......
}

如果以上步骤并未解决你的问题,你可以再参考下ThinkPHP5官方对于Linux环境下的配置:https://www.kancloud.cn/manual/thinkphp5/336757

23 条评论

发布
问题