国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB服務 > 正文

nginx php-fpm 輸出php錯誤日志

2020-03-22 16:56:20
字體:
來源:轉載
供稿:網友

nginx是一個web服務器,因此nginx的access日志只有對訪問頁面的記錄,不會有php 的 error log信息。

nginx把對php的請求發給php-fpm fastcgi進程來處理,默認的php-fpm只會輸出php-fpm的錯誤信息,在php-fpm的errors log里也看不到php的errorlog

原因是php-fpm的配置文件php-fpm.conf中默認是關閉worker進程的錯誤輸出,直接把他們重定向到/dev/null,所以我們在nginx的error log 和php-fpm的errorlog都看不到php的錯誤日志。

調試起來就很痛苦了。解決nginx下php-fpm不記錄php錯誤日志的辦法:

1.修改php-fpm.conf中配置 沒有則增加

catch_workers_output = yeserror_log = log/error_log

2.修改php.ini中配置,沒有則增加

log_errors = Onerror_log = "/usr/local/lnmp/php/var/log/error_log"error_reporting=E_ALL&~E_NOTICE

3.重啟php-fpm
當PHP執行錯誤時就能看到錯誤日志在"/usr/local/lnmp/php/var/log/error_log"中了

請注意:

1. php-fpm.conf 中的php_admin_html' target='_blank'>value[error_log] 參數 會覆蓋php.ini中的 error_log 參數
所以確保你在phpinfo()中看到的最終error_log文件具有可寫權限并且沒有設置php_admin_value[error_log] 參數,否則錯誤日志會輸出到php-fpm的錯誤日志里。

2.找不到php.ini位置,使用php的phpinfo()結果查看

3.如何修改PHP錯誤日志不輸出到頁面或屏幕上
修改php.ini

display_errors = off //不顯示錯誤信息(不輸出到頁面或屏幕上)log_errors = on //記錄錯誤信息(保存到日志文件中)error_reporting = E_ALL //捕獲所有錯誤信息error_log = //設置日志文件名

程序中修改以上配置

ini_set("display_errors",0)ini_set("error_reporting",E_ALL); //這個值好像是個PHP的常量ini_set("error_log","<日志文件名>")ini_set("log_errors",1);

4.如何將php的錯誤日志輸出到nginx的錯誤日志里
在PHP 5.3.8及之前的版本中,通過FastCGI運行的PHP,在用戶訪問時出現錯誤,會首先寫入到PHP的errorlog中
如果PHP的errorlog無法寫入,則會將錯誤內容返回給FastCGI接口,然后nginx在收到FastCGI的錯誤返回后記錄到了nginx的errorlog中
在PHP 5.3.9及之后的版本中,出現錯誤后PHP只嘗試寫入PHP的errorlog中,如果失敗則不會再返回到FastCGI了,錯誤日志會輸出到php-fpm的錯誤日志里。
所以如果想把php錯誤日志輸出到nginx錯誤日志,需要使用php5.3.8之前的版本,并且配置文件中php的error_log對于php worker進程不可寫。

更多PHP相關知識,請訪問PHP中文網!

以上就是nginx php-fpm 輸出php錯誤日志的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄石市| 巩留县| 湖北省| 云龙县| 五家渠市| 望谟县| 乐平市| 永清县| 交口县| 商都县| 徐汇区| 兰溪市| 黎平县| 永平县| 安仁县| 怀柔区| 四平市| 监利县| 重庆市| 崇信县| 蓬安县| 桐乡市| 虹口区| 噶尔县| 雅安市| 莱阳市| 阿合奇县| 天镇县| 开江县| 新巴尔虎左旗| 武宁县| 乌鲁木齐市| 金乡县| 邵阳市| 灯塔市| 上林县| 嘉峪关市| 三门县| 会东县| 静宁县| 荔波县|