linux上部署thinkphp5提示500
阿新 • • 發佈:2019-01-08
解決方法一:LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目錄下的 ./remove_open_basedir_restriction.sh,輸入網站的全路徑(如/www/wwwrooter/testweb) 回車既可
解決方法二:LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將 /usr/local/nginx/conf/fastcgi.conf 裡面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在該行行前新增 # 或刪除改行,需要重啟nginx。
這裡我試過了是無效的,大家可以嘗試,修改完fastcgi.conf後執行
service nginx restart
service php-fpm restart
說明; 由於我的伺服器php環境是使用lnmp整合包搭建,原因也來於此
在Thinkphp、codeigniter、Laravel等框架下,網站目錄一般是在public下,但是public下的程式要跨目錄呼叫public上級目錄下的檔案,因為LNMP預設是不允許跨目錄訪問的,所以都是必須要將防跨目錄訪問的設定去掉,有時候這些框架類的程式提示500錯誤也可能是這個問題引起的。(官網上寫的https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini)
問了找了好久,還是通過tp5官網文件的評論發現解決方法,tp5文件https://www.kancloud.cn/manual/thinkphp5/336757