LNMP模式下如何開啓PHP錯誤日志?訪問網站提示500錯誤如何解決?

字號+ 編輯: 国内TP粉 修訂: 秃顶萧峰 來源: 2023-09-12 我要說兩句(0)

如果服務器頁面出現500錯誤, 如果沒有做特殊的頁面狀態碼返回的話,首先應該覺察到一般是後耑程序報了錯拋出了意外錯誤。

爲了便於查找問題, 首先建議開發者打開php錯誤日志, 以便通過php錯誤日志來排錯。

LNMP下的錯誤需要編輯以下這個文档----假設你的php被安裝到了/usr/local/php 那麽配置文档就應該在以下位置:

/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

或在/usr/local/php/etc/php-fpm.conf裡設置,加上catch_workers_output = yes,錯誤信息就會記錄到php-fpm.conf裡error_log設置的文档裡。

上述兩種方法都行,重啓php-fpm生效

同理php.ini裡的display_errors也是需要在php-fpm.conf裡設置的,加上php_flag[display_errors] = On就開啓了。

有時因爲權限等問題, 可能錯誤日志文档不會自動創建,可以執行

touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log

這個命令就可以了。

還有的同學喜歡在php.ini裡面配置, 那麽就要在php.ini裡面查找error關鍵字, 一個一個地根據需要改, 重點就是以下兩項:

log_errors=On # 打開日志記錄
error_log=絕對路徑地址

本文只細講在php-fpm.conf裡的改法, 就不再贅述php.ini的改法。

如果還是捕獲不到錯誤怎麽辦?

那就要查看項目代碼頭部當中是否有配置到ini_set和error_reporting()這兩個函數是否把錯誤報告給關了或者引導到別處去了。

開啓PHP錯誤日志的其他方式

LAMP和LNMPA下開啓錯誤日志的方法是:編輯

/usr/local/php/etc/php.ini

查找

;error_log

加上

error_log=/var/log/php_errors.log

然後重啓apache生效。

出了問題你就在用vim或者cat命令在/var/log/php_errors.log裡面找

有時候上面設置可能無法記錄下日志,可以嘗試把錯誤日志設置一下, 在php.ini裡

error_log = syslog

這樣就會輸出到系統日志裡,一般是 /var/log/messages 日志文档中會記錄php報錯的相關信息。

閲完此文,您的感想如何?
  • 有用

    1936

  • 沒用

    118

  • 開心

    1603

  • 憤怒

    39

  • 可憐

    22

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • PHP的換行符是什麽

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯繫商家解決

我要說說
網上賓友點評