【问题标题】:Disable error reporting while installing application in php在 php 中安装应用程序时禁用错误报告
【发布时间】:2013-07-12 06:36:31
【问题描述】:

我正在用 php 开发一个需要 MySQL 数据库的 Web 应用程序。

对于每个请求,我都会按照以下工作流程检查应用程序是否已安装:

  1. 调用主配置文件;
  2. 主配置文件检查自定义配置文件是否存在(该文件包含用户定义的数据库连接数据);
  3. 如果自定义配置存在,调用安装配置文件(定义安装点);
  4. 安装配置调用db类并尝试连接;
  5. 如果已连接,则使用 sql 语句“SHOW TABLES”检查表。 ...

我的问题在 4.,如果在尝试连接时设置 report_errors(0) 是一种不好的做法,因为我不想向用户显示连接错误,我只会通知用户自定义配置数据不正确。

尝试连接后,我将错误报告重新定义为 E_ALL | E_STRICT。

顺便说一句,我也对整个过程的批评持开放态度。

谢谢。

【问题讨论】:

  • 离题:为什么“最佳实践”的堆栈溢出中没有标签?
  • 通常,您希望在开发过程中看到错误日志;在生产中不显示任何内容,但在日志文件中附加错误。
  • 或者您可以迁移到异常模型。捕获在配置步骤中发出的任何错误并适当地处理它们。
  • 是的,我有一个错误处理程序类,它结合了一个调试器,如果它们处于活动状态(在开发时),则可以显示它们。我真的应该使用它来不显示错误,并且我可以捕捉到它以更具体地向用户说明他在 conf 文件中做错了什么。

标签: php error-reporting


【解决方案1】:

您可以使用此代码

<?php
    $old_value = error_reporting(0);
    /*Lets install the application here!*/

    /*Application is done installing, lets put error reporting back to normal!*/
    error_reporting($old_value);
?>

【讨论】:

  • 是的,这就是我的想法,一开始禁用,安装后启用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-23
  • 2016-09-14
相关资源
最近更新 更多