最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實(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)文章

  • Windows下Nginx + PHP5 的安裝與配置方法

    Windows下Nginx + PHP5 的安裝與配置方法

    Nginx 是一個(gè)輕量級(jí)的高性能 Http WebServer,以事件驅(qū)動(dòng)方式編寫(xiě),因此相比 Apache 而言,Nginx 更加穩(wěn)定、性能更好,而且配置簡(jiǎn)單,資源占用較低。以下是我在 Windows 7 安裝中 Nginx 和 PHP5.3 的步驟。
    2010-07-07
  • Nginx location(正則)使用

    Nginx location(正則)使用

    這篇文章主要介紹了Nginx location(正則)使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 詳解Nginx日志配置及日志切割

    詳解Nginx日志配置及日志切割

    本篇文章主要介紹了詳解Nginx日志配置及日志切割,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • 利用Nginx_geo模塊實(shí)現(xiàn)CDN調(diào)度的配置方法

    利用Nginx_geo模塊實(shí)現(xiàn)CDN調(diào)度的配置方法

    今天小編就為大家分享一篇利用Nginx_geo模塊實(shí)現(xiàn)CDN調(diào)度的配置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • linux設(shè)置Nginx自動(dòng)重啟的實(shí)現(xiàn)

    linux設(shè)置Nginx自動(dòng)重啟的實(shí)現(xiàn)

    在Linux系統(tǒng)中,設(shè)置Nginx服務(wù)開(kāi)機(jī)自動(dòng)啟動(dòng)及意外停止后自動(dòng)重啟是保持服務(wù)穩(wěn)定運(yùn)行的關(guān)鍵步驟,本文詳細(xì)介紹了如何使用systemctl命令和配置systemd服務(wù)文件來(lái)實(shí)現(xiàn)這一功能,感興趣的可以了解一下
    2024-09-09
  • Nginx 平滑升級(jí)的實(shí)現(xiàn)(拒絕服務(wù)漏洞)

    Nginx 平滑升級(jí)的實(shí)現(xiàn)(拒絕服務(wù)漏洞)

    本文主要介紹了Nginx 平滑升級(jí)的實(shí)現(xiàn)(拒絕服務(wù)漏洞),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Nginx啟動(dòng)顯示80端口占用問(wèn)題的解決方案

    Nginx啟動(dòng)顯示80端口占用問(wèn)題的解決方案

    這篇文章主要介紹了Nginx啟動(dòng)顯示80端口占用問(wèn)題的解決方案,文中通過(guò)代碼示例和圖文講解的非常詳細(xì),對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • Nginx流量同時(shí)轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā))

    Nginx流量同時(shí)轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā))

    在需要同時(shí)將請(qǐng)求轉(zhuǎn)發(fā)至多個(gè)后端服務(wù)的場(chǎng)景中,Nginx的mirror模塊提供了流量鏡像分發(fā)的功能,本文就來(lái)介紹一下Nginx流量同時(shí)轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā)),感興趣的可以了解一下
    2024-10-10
  • Nginx中server_name的超詳細(xì)使用指南

    Nginx中server_name的超詳細(xì)使用指南

    這篇文章主要介紹了Nginx的server_name指令及其在DNS解析和多域名配置中的應(yīng)用,包括如何使用通配符和正則表達(dá)式進(jìn)行匹配,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • nginx虛擬主機(jī)配置實(shí)例詳解

    nginx虛擬主機(jī)配置實(shí)例詳解

    這篇文章主要介紹了nginx虛擬主機(jī)配置實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

泗阳县| 绵竹市| 都匀市| 邯郸市| 昭平县| 通州市| 遵义县| 武功县| 探索| 邛崃市| 涞水县| 裕民县| 体育| 铜陵市| 三原县| 嵩明县| 琼结县| 衡阳县| 涟水县| 涞源县| 巴东县| 大冶市| 盘锦市| 讷河市| 阿鲁科尔沁旗| 行唐县| 平罗县| 营山县| 宜宾县| 沙湾县| 沈阳市| 汝阳县| 瑞昌市| 阳泉市| 林口县| 丹阳市| 东方市| 莱州市| 元阳县| 石屏县| 赣州市|