[英]PHP error suppression is being ignored
我當前的php.ini文件設置為報告除棄用和嚴格標准以外的所有錯誤,如下所示:
error_reporting = E_ALL & ~E_STRICT & ~E_DEPRECATED
使用此設置的原因是我們迫切需要在托管我們網站的Linux服務器上執行PHP升級; 問題是,已棄用的功能和嚴格的標准建議將很快填滿170多個網站的錯誤日志文件。 這些錯誤主要是由於函數沒有聲明為靜態等等。最終我們將通過所有站點並修復這些問題,但與此同時我們需要抑制錯誤。
我在本地測試環境中遇到的問題(運行我們希望升級到的PHP版本 - 5.4.3)是錯誤仍然顯示以下打印之前:
SCREAM: Error suppression ignored for
任何人都可以讓我深入了解為什么忽略錯誤抑制以及如何正確地抑制錯誤?
提前致謝。
看來你正在使用尖叫擴展。 從手冊:
尖叫擴展可以禁用靜默錯誤控制操作符,以便報告所有錯誤。 此功能由ini設置控制。
Scream是調試的擴展,旨在顯示盡可能多的錯誤消息。 這是通過忽略@
運算符並始終具有最高的error_reporating級別來完成的。 (無論您的error_reporting
設置如何)。 所以你必須在你的php.ini中停用擴展名:
scream.enabled = off
順便說一句:我不會更新有170個代碼錯誤的網站的服務器。 現在這是一顆定時炸彈。 最好將它們逐站點遷移到新的PHP版本。 在遷移過程中可能有兩台服務器並行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.