我们正在编写基于具有大量通知和严格标准警告的库的PHP应用程序。
我们希望通过完整的错误报告来开发我们的应用程序。我们现在不能,因为lib导致了许多错误。我们希望禁止此lib中的所有错误,并仅在我们的开发计算机上显示我们的应用程序。
在set_error_handler函数的帮助下,我已经可以实现它了。
有没有其他方法可以在php.ini或vhost级别上执行此操作?
答案 0 :(得分:3)
对于Apache:
添加到.htaccess文件(或在vhost配置中):
php_value error_reporting 1
但是这种分离只能在Apache解析URL时使用 让你有这个文件夹:
/www/dir/
/models/
/lib/
.htaccess放在/www/dir/
和lib
中。
如果您将调用URL example.com/dir
,则.htaccess将由Apache解析并设置设置。
但是在'include /lib/some.php'
的情况下--Apache不会解析lib
而.htaccess
也不会产生任何影响。
答案 1 :(得分:0)
简答:不。
通过检查导致错误的文件路径,使用自定义函数和set_error_handler
过滤错误是您可以做的最佳事情。
其他可能更好的解决方案,但仅限于某些条件:
答案 2 :(得分:0)
我发现可以预先添加脚本:php_value auto_prepend_file prepend.php
所以我可以添加一个使用我自己的error_handler的脚本。这样我就可以通过vhost / php.ini指令触发它。
感谢您的所有输入。