VestaCP面板出現PHP open_basedir錯誤問題怎麼辦?

解決VestaCP面板出現php open_basedir錯誤問題

什麼是PHP open_basedir?

  • PHP open_basedir保護調整是一種安全模式安全措施,可防止用戶使用PHP 打開位於主目錄之外的文件或腳本,除非該文件夾已被明確排除。
  • 如果啟用PHP open_basedir設置,將確保所有文件操作都被限製到某個目錄下的文件,從而防止特定用戶的php腳本訪問非授權用戶帳戶中的文件。
  • 當腳本試圖用例如fopen()或gzopen()打開文件時,將檢查文件的位置。

這裡還有更多VestaCP面板的相關教程 ▼

當文件超出指定或允許的目錄樹時,PHP將拒絕打開它,可能會發生類似以下錯誤:

PHP Warning: require(): open_basedir restriction in effect. File(/home/admin/web/project/www/app/autoload.php) is not within the allowed path(s): (/home/admin/web/project/public_shtml:/home/admin/tmp) in /home/admin/web/project/www/web/app.php on line 6

PHP Warning: require(/home/admin/web/project/www/app/autoload.php): failed to open stream: Operation not permitted in /home/admin/web/project/www/web/app.php on line 6

PHP Fatal error: require(): Failed opening required '/home/admin/web/project/www/web/../app/autoload.php' (include_path='.:/usr/share/php') in /home/admin/web/project/www/web/app.php on line 6

解決辦法

第1 步:進入對應域名“WEB服務”。

第2 步:修改“Web模板HTTPD”

  • 請將“Web模板HTTPD” ,從“default” 更改為“phpcgi” ▼

VestaCP面板將“Web模板HTTPD” 從“default” 更改為“phpfcgid” 第4張

第3步:使用以下命令重啟Apache服務 ▼

service httpd restart

這是Linux系統的常見問題,只要按照以上方法去做,無需修改代碼,只需3步就能迅速解決,非常簡單^_^

注意事項

  • 千萬不要選擇“phpfcgid”,因為容易消耗過多內存造成經常500錯誤問題。

如果你偏要使用 “phpfcgid” 模板,陳溈亮建議你在使用之前,對其進行優化設置 ▼

發表評論

您的郵箱地址不會被公開。 必填項已用 * 標註

回到頁首