lnmp集成环境.user.ini与open_basedir设置

  • 发表时间:2019-04-07 21:22:06
  • 433人已阅读
摘要lnmp集成环境.user.ini与open_basedir设置

我们在lnmp集成环境下配置thinkphp站点经常会碰到类似的错误

PHP message: PHP Fatal error:  require(): Failed opening required '/home/wwwroot/local.phpdie.com/public/../thinkphp/base.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/local.phpdie.com/public/index.php on line 16" while reading response header from upstream, client: 127.0.0.1, server: local.phpdie.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "local.phpdie.com"


.user.ini在站点的根目录下用ls -al能查看到

open_basedir在php.ini可以设置,默认是被注释了的

open_basedir在/usr/local/nginx/conf/fastcgi.conf有设置

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";


合理的设置好.user.ini和open_basedir即可解决此类问题.

第一步:将/usr/local/nginx/conf/fastcgi.conf  open_basedir=$document_root/:/tmp/:/proc/这一行前面加#号注释掉

第二步:将站点下的.user.ini改为open_basedir=/home/wwwroot/local.phpdie.com:/tmp/:/proc/

这里并不需要指到public目录下,然后就收工啦.

如果有多个站点,各自设置自己的.user.ini就可以了.


网上有些教程的做法是把站点的路径直接追加到/usr/local/nginx/conf/fastcgi.conf的设置中,个人感觉这样做不妥.没有达到"分而治之"的效果,如果有很多个站点难道将所有站点的路径都追加进来吗?



上一篇:linux下安装QQ

下一篇:没有啦

Top