一个PHP系统,在开发的时候我们都是很希望能够得到非常详细的信息,用于代码的调试,比如指出问题出在哪里,在什么文件,在多少行,什么变量没有定义等。但在实际运行的时候,由于安全的考虑,我们不想给最终的使用者太多有关于服务器的信息,就很有必要屏蔽掉这些调试内容。
PHP为开发者提供了很全面的关于这方面的考虑。error_reporting()函数可以指定PHP代码在运行时哪些内容可以显示,哪些内容不显示,可以在php.ini中指定,也可以在运行时指定。
建立一个配置文件config.php,在配置文件定义一个常量用来控制当前是开发环境还是运行环境:
define('D_BUG', '0');
建立一个通用的包含文件common.php,在里面依据D_BUG设置error_reporting:
D_BUG?error_reporting(E_ALL):error_reporting(0);
上面的error_reporting设置让PHP在开发环境是显示所有的信息,在运行环境是则什么信息也不显示。