欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

實(shí)現(xiàn)Nginx中使用PHP-FPM時記錄PHP錯誤日志的配置方法

 更新時間:2020年07月01日 11:50:33   投稿:junjie  
最近在本地搭建的LNMP的開發(fā)環(huán)境。為了開發(fā)的時候不影響前端的正常開發(fā)就屏蔽的PHP里面php.ini中的一些錯誤提示。但是這樣一來,就影響到了后端開發(fā)的一些問題比如不能及時調(diào)試開發(fā)中的一些問題

今天一PHP程序運(yùn)行出現(xiàn)問題,想看看錯誤信息,但是Nginx環(huán)境如何查看PHP錯誤信息?常規(guī)做法是看log日志文件,但是首先要做的是能讓PHP把錯誤信息輸出到log文件里。原以為很簡單,直接在php.ini里設(shè)置下log日志文件路徑即可,但測試后發(fā)現(xiàn)這樣做是不行的。那問題在哪?

通過查閱了一些相關(guān)的文章資料,原來主要根源在于php-fpm的配置文件php-fpm.conf。

php-fpm的配置文件php-fpm.conf中默認(rèn)是關(guān)閉worker進(jìn)程的錯誤輸出,直接把他們重定向到/dev/null,所以我們看不到php的錯誤日志。

要解決這一問題,只需設(shè)置下php-fpm.conf即可。我使用的關(guān)鍵代碼如下:

[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice

[www]
; 下面這句不能少,記錄PHP執(zhí)行錯誤日志
catch_workers_output = yes

解釋:

1、error_log 是定義日志文件路徑

2、log_level = notice 不能少

3、catch_workers_output = yes 不能少

通過這樣設(shè)置后,php的錯誤信息就會直接寫入error_log定義的日志文件里了。

重啟php服務(wù),方法:

service php-fpm restart

試試有無效果?

上述方法無效?再按下面方法設(shè)置php.ini

網(wǎng)上不少文章說到還要設(shè)置php.ini的error_log路徑,但我測試發(fā)現(xiàn),php.ini的error_log路徑設(shè)置是沒有意義的,這就解釋了為什么一開始我只設(shè)置php.ini日志輸出路徑卻沒有效果的原因。也許是別人的php-fpm.conf設(shè)置與我不同,造成還需要設(shè)置php.ini的error_log路徑。網(wǎng)友們?nèi)绻l(fā)現(xiàn)我前面提到的設(shè)置方法不可行,那么可以再設(shè)置一下php.ini,關(guān)鍵代碼是如下三行:

log_errors = On
error_log = "/usr/local/php/var/log/php_errors.log"
error_reporting = E_ALL & ~E_NOTICE

解釋:

1、log_errors = On 不能少

2、error_log 設(shè)置日志文件路徑

3、error_reporting 的值設(shè)為 E_ALL & ~E_NOTICE

下面是其他網(wǎng)友的補(bǔ)充

nginx與apache不一樣,在apache中可以直接指定php的錯誤日志,那樣在php執(zhí)行中的錯誤信息就直接輸入到php的錯誤日志中,可以方便查詢。

在nginx中事情就變成了這樣:nginx只對頁面的訪問做access記錄日志。不會有php的error log 信息。nginx把對php的請求發(fā)給php-fpm fastcgi進(jìn)程來處理,默認(rèn)的php-fpm只會輸出php-fpm的錯誤信息,在php-fpm的errors log里也看不到php的errorlog。

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

所以我們要進(jìn)行如下的設(shè)置就能查看到nginx下php-fpm不記錄php錯誤日志的方法:

1,修改php-fpm.conf中的配置,如果沒有請增加:

[global]
; Note: the default prefix is /usr/local/php/var
error_log = log/php_error_log
[www]
catch_workers_output = yes

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

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

3.重啟php-fpm

當(dāng)PHP執(zhí)行錯誤時就能看到錯誤日志在”/usr/local/lnmp/php/var/log/php_error_log”中了

如果出現(xiàn):

[root@localhost etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm [17-Apr-2014 18:40:52] ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry 'catch_workers_
[17-Apr-2014 18:40:52] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[17-Apr-2014 18:40:52] ERROR: FPM initialization failed
 failed

那請在第一步的時候,認(rèn)真將配置寫入相對應(yīng)的組中,不然就出現(xiàn)上面的:

復(fù)制代碼 代碼如下:
ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output'

最后看看效果:

相關(guān)文章

  • Nginx基于漏桶算法配置限流詳解

    Nginx基于漏桶算法配置限流詳解

    這篇文章主要為大家介紹了Nginx基于漏桶算法配置限流詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Nginx禁止國外IP訪問我的網(wǎng)站的實(shí)現(xiàn)

    Nginx禁止國外IP訪問我的網(wǎng)站的實(shí)現(xiàn)

    本文主要介紹了Nginx禁止國外IP訪問我的網(wǎng)站的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 基于nginx access日志格式詳解

    基于nginx access日志格式詳解

    下面小編就為大家分享一篇基于nginx access日志格式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • nginx 負(fù)載均衡的簡單配置方法

    nginx 負(fù)載均衡的簡單配置方法

    Nginx 負(fù)載均衡的簡單配置例子,供初學(xué)的朋友參考下
    2013-02-02
  • 詳解nginx basic auth配置踩坑記

    詳解nginx basic auth配置踩坑記

    本篇文章主要介紹了詳解nginx basic auth配置踩坑記,nginx的basic auth配置由ngx_http_auth_basic_module模塊提供,對HTTP Basic Authentication協(xié)議進(jìn)行了支持,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 簡介使用Nginx Plus的在線活動監(jiān)控功能的方法

    簡介使用Nginx Plus的在線活動監(jiān)控功能的方法

    這篇文章主要介紹了簡介使用Nginx Plus的在線活動監(jiān)控功能的方法,注意其目前暫時為收費(fèi)項目,需要的朋友可以參考下
    2015-06-06
  • 在Linux系統(tǒng)中將Redmine和SVN整合入Nginx的方法

    在Linux系統(tǒng)中將Redmine和SVN整合入Nginx的方法

    這篇文章主要介紹了在Linux系統(tǒng)中將Redmine和SVN整合入Nginx的方法,示例基于CentOS系統(tǒng),并用到了Ruby腳本,需要的朋友可以參考下
    2015-06-06
  • Nginx代理后如何獲取客戶端真實(shí)IP地址

    Nginx代理后如何獲取客戶端真實(shí)IP地址

    在實(shí)際應(yīng)用中我們可能需要獲取用戶的ip地址,比如做異地登陸的判斷,或者統(tǒng)計ip訪問次數(shù)等,下面這篇文章主要給大家介紹了關(guān)于Nginx代理后如何獲取客戶端真實(shí)IP地址的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • nginx編譯安裝后對nginx進(jìn)行平滑升級的方法

    nginx編譯安裝后對nginx進(jìn)行平滑升級的方法

    nginx編譯安裝后用了一段時間后發(fā)現(xiàn)當(dāng)前版本有漏洞或需要新的功能時就需要對當(dāng)前nginx版本進(jìn)行版本升級,所以這時就需到對nginx的平滑升級,如何進(jìn)行平滑升級,下面就一起來了解一下
    2018-12-12
  • Nginx的使用經(jīng)驗小結(jié)

    Nginx的使用經(jīng)驗小結(jié)

    相信很多人都聽過nginx,這個小巧的東西慢慢地在吞食apache和IIS的份額。今天我們就簡單介紹下本人在使用nginx的過程中的一些小小的經(jīng)驗
    2017-10-10

最新評論