open_basedir restriction in effect,解决php引入文件权限问题 lnmp

1.配置了虚拟域名

vim /usr/local/nginx/conf/vhost/siemens.conf 

server
    {
        listen 80;
        #listen [::]:80 default_server ipv6only=on;
        server_name local.siemens.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/siemens/new_hotel/Public;

        #error_page   404   /404.html;
        include enable-php-pathinfo.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }

2.然后配置hosts

 vim /etc/hosts

添加

127.0.0.1       local.siemens.com

然后重启lnmp

sudo lnmp reload 或者restart

结果报500错误, 啥也看不到。

3.开启display_errors查看原因

sudo vim /usr/local/php/etc/php.ini
display_errors = On

然后重启再次访问。

发现还是报错,我都开始怀疑系统环境是不是有问题了。

4.后来发现配置一下目录权限就可以了。

sudo vim /usr/local/nginx/conf/fastcgi.conf

将根目录加入其中就可以了

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";

完了,重启lnmp服务就ok了。

原文地址:https://www.cnblogs.com/jiqing9006/p/8838829.html