您当前的位置:首页 > 网站建设笔记 >

PHP 临时开启错误消息

0

错误消息可以为开发人员提供帮助。遗憾的是,在网站上显示错误消息可能会公开一些对攻击者很有用的信息,这也是现在托管公司通常关闭错误消息显示的原因。根据错误性质的不同,你访问页面时看到的可能只是一个空白屏幕。当你需要找出在本地测试环境中表现得十分完美的页面中的问题时,这一点用处也没有。

幸运的是,为单个页面临时开启错误消息的显示是很容易的,只需使用ini_set()即可,ini_set()可用于重写服务器的PHP配置文件php.ini中的一些指令。在有问题的页面的顶部添加下列代码:

<?php ini_set("display_errors", "1"); ?>

将文件上传到远程服务器,并在浏览器中重新加载页面。你应该会看到屏幕上的错误消息。修复问题,并再次测试页面。如果页面显示正确,则删除增加的代码行。

如果你仍看到一个空白屏幕,则表示你的PHP代码中有一个语法错误。如果是解析错误,使用ini_set()无效。

最常见的错误原因是忘记把包含文件上传到远程服务器。即使你已上传了所有文件,可能也会得到一个错误消息,告知你没有权限访问包含文件。以下情况可能会发生这样的问题。

  • 服务器在安全模式中运行:如果托管公司以高度受限的方式运行PHP,那么你将会看到一个警告,提示你安全模式限制正在起作用。运行phpinfo()并检查Core部分中的safe_mode_include_dir的值。所有的包含文件都必须存储在这个位置。相应地调整站点结构。安全模式计划从PHP的下一个主要版本中删除,因此这个问题并不多见。
  • open_basedir指令已设置:open_basedir指令对包含或打开文件有所限制。这应该仅在包含文件位于网站服务器的document根目录之外时才会影响到你。PHP生成的警告消息列出了允许的路径。将包含文件移动到允许的位置,并相应调整包含命令中的路径。
顶部中部底部