首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止PHP打印错误堆栈

防止PHP打印错误堆栈
EN

Stack Overflow用户
提问于 2012-05-08 13:50:05
回答 3查看 237关注 0票数 0

如果出现致命错误,如无法连接到数据库,则PHP将在浏览器中打印错误堆栈,如下所示-

代码语言:javascript
复制
mysql_pconnect() [<a href='function.mysql-pconnect'>function.mysql-pconnect</a>]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111

#0 /var/www/platform/db/connection.php:12 mysql_pconnect('127.0.0.1','root','password')
#1 /var/www/platform/db/front_page.php:10 open_db_connection()
#2 /var/www/platform/services/front_page_services.php:7 find_top_courses()
#3 /var/www/platform/inc/main.php:75 get_top_courses()
#4 /var/www/index.php:198 F3::run()

如何防止这种情况?php.ini中的error_reporting已设置为0,而display_errors已设置为关闭。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-08 13:52:34

确保没有脚本在运行时或通过.htaccess启用display_errors

如果仍然不起作用,请确保修改了正确的php.ini,并在进行任何更改后重新启动Apache/IIS/nginx。如果仍然失败,请加载一个phpinfo()并确保更改生效。

另外,一定要把html_errors也关掉。以防脚本偷偷经过更改了您的error_reporting,并向公众显示您的堆栈跟踪。

票数 1
EN

Stack Overflow用户

发布于 2012-05-08 13:54:38

可能是您编辑了错误的php.ini,也可能是设置在其他地方重新打开(.htaccess文件、用户级别的php.ini或在运行时在脚本中)。请参阅phpinfo()以帮助您查找、编辑php.ini文件,然后重新引导。

您只需关闭display_errors即可。

票数 1
EN

Stack Overflow用户

发布于 2012-05-08 13:54:31

您可以在引发错误的函数前使用"@“。

"@“将使你的函数可能产生的任何php错误保持沉默。

http://php.net/manual/en/language.operators.errorcontrol.php

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10493234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档