我不希望PHP
错误显示/html,但我希望它们显示在/html/beta/usercomponent
中。一切都设置好了,所以根本不会显示错误。如何才能让错误只出现在那个文件夹(及其子文件夹)中?
发布于 2008-09-20 10:33:08
最简单的方法是从.htaccess文件控制错误报告。但这里假设您使用的是Apache,并且/html/beta/usercomponent中的脚本是从该目录调用的,而不是从其他地方包含的。
.htacess
php_value error_reporting [int]
您必须按照error_reporting文档中的描述从列表中自己组成整数值,因为E_ERROR之类的常量在Apache解译.htaccess时并没有定义。
这是一个简单的按位标志,因此,例如,值12将是E_WARNING + E_PARSE + E_NOTICE。
发布于 2008-09-20 18:49:10
您可以通过使用环境变量来完成此操作。这样,您可以有更多的选择,而不仅仅是打开/关闭特殊目录的错误报告。在你的代码中,当你想要改变一组特定的目录或者运行模式的任何行为时,检查是否设置了环境变量。如下所示:
if ($_ENV['MY_PHP_APP_MODE'] == 'devel') {
// show errors and debugging info
} elseif ($_ENV['MY_PHP_APP_MODE'] == 'production') {
// show some cool message to the user so he won't freak out
// log the errors and send email to the admin
}
当您在开发环境中运行应用程序时,可以在.htaccess文件中设置一个环境变量,如下所示:
setenv MY_PHP_APP_MODE devel
或者当你在生产环境中时:
setenv MY_PHP_APP_MODE production
同样的技术也适用于你的情况。在你想做一些特殊的事情(打开错误报告)的目录中,设置一些环境变量,然后在你的代码中,检查它。
https://stackoverflow.com/questions/107828
复制相似问题