[Linux]lnmp一键安装包,访问yii/tp5/laravel的时候,报错500或者空白页面
當你將默認的訪問路徑改后(nginx.conf中的root 之后的路徑),同時應該將/home/wwwroot/default/.user.ini 中的路徑也改了!
.user.ini 是隱藏文件,需要 ls -a? 查看;
第一步:你先確定你的pathinfo路由開啟了,配置如下:
lnmp v1.1上,修改對應虛擬主機的配置文件(/usr/local/nginx/conf/vhost/域名.conf)
去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注釋掉。
1.2,1.3上,修改對應虛擬主機的配置文件(/usr/local/nginx/conf/nginx.conf)
將include enable-php.conf;替換為include enable-php-pathinfo.conf;
修改pathinfo需要重啟nginx生效。
第二步:路由重寫設置成功
1 server { 2 ? ? ? ? listen? ? ? ?80; 3 ? ? ? ? server_name? www.aaa.com; 4 ? ? ? ? root? ?"你的項目路徑"; 5 ? ? ? ? include? enable-php-pathinfo.conf;//開啟pathinfo 6 ? ? ? location /nginx_status 7 ? ? ? ? { 8 ? ? ? ? ? ? stub_status on; 9 ? ? ? ? ? ? access_log? ?off; 10 ? ? ? ? } 11 ? ? ? ? location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 12 ? ? ? ? { 13 ? ? ? ? ? ? expires? ? ? 30d; 14 ? ? ? ? } 15 ? ? ? ?location ~ .*\.(js|css)?$ 16 ? ? ? ? { 17 ? ? ? ? ? ? expires? ? ? 12h; 18 ? ? ? ? } 19 ? ? ? ? location ~ /.well-known { 20 ? ? ? ? ? ? allow all; 21 ? ? ? ? } 22 ? ? ? ? location ~ /\. 23 ? ? ? ? { 24 ? ? ? ? ? ? deny all; 25 ? ? ? ? } 26 ? ? ? ? location ~ /index.php { 27 ? ? ? ? ? ? fastcgi_pass? ?127.0.0.1:9000; 28 ? ? ? ? ? ? fastcgi_index? index.php; 29 ? ? ? ? ? ? fastcgi_param? SCRIPT_FILENAME? $document_root/index.php; 30 ? ? ? ? ? ? include? ? ? ? fastcgi_params; 31 ? ? ? ? ? ? fastcgi_param APPLICATION_ENV dev; 32 ? ? ? ? } 33 ? ? ? ? location / { 34 ? ? ? ? ? ?index? index.html index.htm index.php l.php; 35 ? ? ? ? ? ?autoindex? on; 36 ? ? ? ? ? ?if (!-e $request_filename){ 37 ? ? ? ? ? ? ? rewrite ^/(.*) /index.php last; 38 ? ? ? ? ? ?} 39 ? ? ? ? } 40 ? ? ? ? error_page? ?500 502 503 504? /50x.html; 41 ? ? ? ? location = /50x.html { 42 ? ? ? ? ? ? root? ?html; 43 ? ? ? ? } 44 ? ? ? ? location ~ \.php(.*)$? { 45 ? ? ? ? ? ? fastcgi_pass? ?127.0.0.1:9000; 46 ? ? ? ? ? ? fastcgi_index? index.php; 47 ? ? ? ? ? ? fastcgi_split_path_info? ^((?U).+\.php)(/?.+)$; 48 ? ? ? ? ? ? fastcgi_param? SCRIPT_FILENAME? $document_root$fastcgi_script_name; 49 ? ? ? ? ? ? fastcgi_param? PATH_INFO? $fastcgi_path_info; 50 ? ? ? ? ? ? fastcgi_param? PATH_TRANSLATED? $document_root$fastcgi_path_info; 51 ? ? ? ? ? ? include? ? ? ? fastcgi_params; 52 ? ? ? ? } 53 ? ? }?
第三步:再次訪問,如果是500/空白頁面
在你框架index.php開頭,打開報錯,如下:
error_reporting(E_ALL);
ini_set('display_errors', '1');
默認是沒有開啟報錯的,設置如下:
1、先打開php的錯誤提示
????將 php.ini中的 display_errors = Off 修改為 On;
2、開啟nginx的報錯
在 /usr/local/php/etc/php-fpm.conf 加上
php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on
有時可能錯誤日志文件不自動創建,可以執行:touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log
然后你訪問,會得到以下的報錯:
1 PHP?Warning:?require():?open_basedir?restriction?in?effect.?File(/home/wwwroot/default/laravel/bootstrap/autoload.php)?is?not?within?the?allowed?path(s):?(/home/wwwroot/default/laravel/public:/tmp/:/var/tmp/:/proc/)?in?/home/wwwroot/default/laravel/public/index.php?on?line?22?? 2 ?? 3 PHP?Warning:?require(/home/wwwroot/default/laravel/bootstrap/autoload.php):?failed?to?open?stream:?Operation?not?permitted?in?/home/wwwroot/default/laravel/public/index.php?on?line?22?? 4 ?? 5 PHP?Fatal?error:?require():?Failed?opening?required?‘/home/wwwroot/default/laravel/public/../bootstrap/autoload.php‘?(include_path=‘.:/usr/local/php/lib/php‘)?in?/home/wwwroot/default/laravel/public/index.php?on?line?22??解決
(1)檢查php.ini的 open_basedir的參數 將其開啟,寫為自己的項目路徑
(2)如果是lnmp(nginx服務器),檢查 path/nginx/conf/fastcgi.conf里的 $document_root參數
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/stone/dsales/"; (/home/stone/dsales/為項目路徑)
注意:如果在fastcgi.conf里沒有 fastcgi_param PHP_ADMIN_VALUE……自行添加
? ? ? ?如果這樣還是報錯的話,那就改為?fastcgi_param PHP_ADMIN_VALUE "open_basedir=NULL";
這樣的話你就應該可以訪問到項目了。。。
?
轉載于:https://www.cnblogs.com/zmdComeOn/p/10120574.html
總結
以上是生活随笔為你收集整理的[Linux]lnmp一键安装包,访问yii/tp5/laravel的时候,报错500或者空白页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MongoDB · 引擎特性 · Mon
- 下一篇: 手机输入法使用评价