有些頁面使用了未定義或不存在的變量,會觸發(fā) E_NOTICE 錯誤,php_cli.ini已設(shè)置 E_ALL & ~E_NOTICE
,原生php頁面下不會顯示該錯誤,頁面其他內(nèi)容能夠繼續(xù)顯示。
原生php設(shè)置錯誤報(bào)告等級為
E_ALL
,顯示錯誤但其他內(nèi)容正常顯示
原生php設(shè)置錯誤報(bào)告等級為
E_ALL & ~E_NOTICE
,不顯示錯誤,其他內(nèi)容正常顯示
webman中,異常會捕獲該錯誤,即便設(shè)置了 E_ALL & ~E_NOTICE
,然后整個頁面會轉(zhuǎn)到異常處理程序中。
比如一個頁面,頭部使用了未定義的 $sitename 變量,整個頁面都變成了異常處理那個頁面。
想請教下,如何能不獲取這個錯誤,仍能繼續(xù)顯示該頁面的內(nèi)容。比如 $sitename 未賦值,則忽略它,繼續(xù)顯示其他內(nèi)容,就像原生php頁面一樣。
未想到辦法
"Undefined variable" 是 catch 不住的,目測是模板引擎用 isset 或者 empty 函數(shù)檢測過后手動拋出異常。而且在較新的 PHP 版本里,"Undefined variable" 已經(jīng)升級為 Warning 了。
所以應(yīng)當(dāng)修改模板引擎的配置,或者修改模板引擎的源代碼,又或者更換模板引擎。