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

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

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

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

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

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

要解決這一問(wèn)題,只需設(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í)行錯(cuò)誤日志
catch_workers_output = yes

解釋:

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

2、log_level = notice 不能少

3、catch_workers_output = yes 不能少

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

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

service php-fpm restart

試試有無(wú)效果?

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

網(wǎng)上不少文章說(shuō)到還要設(shè)置php.ini的error_log路徑,但我測(cè)試發(fā)現(xiàn),php.ini的error_log路徑設(shè)置是沒(méi)有意義的,這就解釋了為什么一開(kāi)始我只設(shè)置php.ini日志輸出路徑卻沒(méi)有效果的原因。也許是別人的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的錯(cuò)誤日志,那樣在php執(zhí)行中的錯(cuò)誤信息就直接輸入到php的錯(cuò)誤日志中,可以方便查詢。

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

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

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

1,修改php-fpm.conf中的配置,如果沒(méi)有請(qǐng)?jiān)黾?

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

2.修改php.ini中配置,沒(méi)有則增加:

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í)行錯(cuò)誤時(shí)就能看到錯(cuò)誤日志在”/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

那請(qǐng)?jiān)诘谝徊降臅r(shí)候,認(rèn)真將配置寫(xiě)入相對(duì)應(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禁止國(guó)外IP訪問(wèn)我的網(wǎng)站的實(shí)現(xiàn)

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

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

    基于nginx access日志格式詳解

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

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

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

    詳解nginx basic auth配置踩坑記

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

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

    這篇文章主要介紹了簡(jiǎn)介使用Nginx Plus的在線活動(dòng)監(jiān)控功能的方法,注意其目前暫時(shí)為收費(fèi)項(xiàng)目,需要的朋友可以參考下
    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)計(jì)ip訪問(wèn)次數(shù)等,下面這篇文章主要給大家介紹了關(guān)于Nginx代理后如何獲取客戶端真實(shí)IP地址的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • nginx編譯安裝后對(duì)nginx進(jìn)行平滑升級(jí)的方法

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

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

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

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

最新評(píng)論