laravel for centos lnmp1.5 一鍵安裝包的注意問題

 

LNMP環境運行Laravel出現500錯誤的解決

爲了方便節省時間, 現在都是使用lnmp一鍵安裝包搭建LNMP環境的. 今天恰好有個用Laravel開發的項目, 部署完一直500錯誤, 百思不得其解... 谷歌了一番, 記下來備用嘿嘿~

首先處理一下目錄權限:

chmod -R 777 bootstrap/
chmod -R 777 storage/

再確認一下是否是open_basedir的問題, 方法是修改php.ini, 打開PHP的錯誤顯示:

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

改完php.ini要重啓一下:

lnmp php-fpm restart

刷新頁面, 如果有類似下面的錯誤:

Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/***/bootstrap/autoload.php) is not within the allowed path(s): (/home/wwwroot/***/public/:/tmp/:/proc/) in /home/wwwroot/***/public/index.php on line 22

Warning: require(/home/wwwroot/***/bootstrap/autoload.php): failed to open stream: Operation not permitted in /home/wwwroot/***/public/index.php on line 22

Fatal error: require(): Failed opening required '/home/wwwroot/***/public/../bootstrap/autoload.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/***/public/index.php on line 22

打開/usr/local/nginx/conf/fastcgi.conf, 註釋PHP_ADMIN_VALUE配置(最前面加個#號):

vim /usr/local/nginx/conf/fastcgi.conf
#fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";

最後重啓一下就可以了, 當然php.ini得先改回去:

vim /usr/local/php/etc/php.ini
display_errors = Off
lnmp restart

還有.user.ini這個文件, 移動或者刪除之前, 需要先執行下面的命令:

chattr -i .user.ini

我部署時是直接把它刪了, 如果需要的話, 放在public目錄下, 文件內容根據實際路徑修改, 這裏做個示例:

open_basedir=/home/wwwroot/www.abc.com/:/tmp/:/proc/

 

 

顯示報錯後還有包含錯誤,最終使用這個方法後,確實莫名其妙的好了。方法如下

require(): Failed opening required 錯誤

解決辦法,執行命令:composer install即可

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