PHP trigger_error 函数触发的错误无法使用 ~E_NOTICE 屏蔽

error_reporting 配置如下

error_reporting(E_ALL & ~E_NOTICE) ;

代码里使用trigger_error出发错误。

trigger_error("test user notice error");

最后发现错误没有被抑制掉。因为trigger_error出发的错误级别默认是 E_USER_NOTICE。所以需要这样配置 error_reporting 才可以抑制错误。

error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE) ;