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