LNMP一鍵安裝包的坑-thinkphp,Zend Framework,laravel等提示500錯誤

最近安裝LNMP運行環境,因爲貪圖方便,就用了https://lnmp.org/來安裝,安裝過程還是挺方便的,按照步驟輸入即可;

安裝完就可以直接顯示了,確實方便;

但是運行框架thinkphp,Zend Framework,laravel等的時候,一直顯示返回500,懵逼。。。

查了資料,整理問題如下;

1 不允許跨目錄訪問

該類錯誤一般都是在Thinkphp、CI、Laravel等框架下,網站目錄一般是在public下,但是public下的程序要跨目錄調用public上級目錄下的文件,因爲LNMP默認是不允許跨目錄訪問的,所以需要將防跨目錄訪問的設置去掉,進行設置,有時候這些框架類的程序也可能會提示500錯誤,也可能是這個問題引起的。解決:

/usr/local/nginx/conf/fastcgi.conf 裏面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在該行行前添加 # 或刪除改行,需要重啓nginx。

2 pathinfo配置

其實lnmp一鍵包裏面的pathinfo軍哥已經都寫好了,在nginx.conf中我們只需要把include enable-php.conf;修改成include enable-php-pathinfo.conf;然後重啓lnmp就搞定了。

#include enable-php.conf;或者,你直接註釋掉這一行,在下面添加新的一行

include enable-php-pathinfo.conf;

就是這樣簡單。下面順便附上在url裏隱藏模塊的方法

配置文件:

server
    {
        listen 82 default_server;
        server_name _dbe;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/dbe/public;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        #include enable-php.conf;或者,你直接註釋掉這一行,在下面添加新的一行
		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 ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章