更新larabbs從laravel6.x到7.x 遇到HTTP Error 500 的問題!
今天把larabbs從 laravel 6.x 跟新到laravel 7.x, 網頁顯示 “目前無法處理此請求。 HTTP ERROR 500”。
ps: 我使用的網站地址是 larabbs7.test/
1. 尋找問題
檢視網站的log, log的位置在/var/log/nignx/larabbs7.test-error.log,發現致命錯誤
[error] 5881#5881: *3 FastCGI sent in stderr: “PHP message: PHP Fatal error: Declaration of Carbon\Translator::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) in /home/vagrant/Code/larabbs7/vendor/nesbot/carbon/src/Carbon/Translator.php on line 18
google了一下是發現是由於php的版本小於7.2。
ps: 我是參考了這個帖子github.com/briannesbitt/Carbon/iss...
使用php -v 發現php的版本是7.3。
注意 這個是php cli的版本。
使用在index.php 上新增phpinfo()命令列印php的資訊發現php-fpm的版本是7.1。 這就是問題的根源所在。
2.更改nginx的網站配置,更新php7.1-fpm 到 php7.4-fpm
執行以下程式碼
登入root使用者
sudo su
開啟網站在nignx的配置,我的地址是larabbs7.test
vim /etc/nginx/sites-available/larabbs7.test
修改檔案,把原本的php7.1-fpm.sock 換成 php7.4-fpm.sock。(位置在圖片中畫紅圈的地方)
接下來重啟nginx
sudo service nginx restart
sudo service php7.4-fpm restart
好現在可以正常訪問網站了
使用phpinfo()發現php的版本是PHP 7.4.7 。
本作品採用《CC 協議》,轉載必須註明作者和本文連結