iis 输出php错误

IIS 输出 PHP 错误

随着互联网的不断发展,基于 PHP 语言的网站越来越多,而 IIS 是一个常用的 Web 服务器平台。在使用 IIS 运行 PHP 程序时,难免会遇到一些 PHP 错误问题。为了排除这些问题,需要了解 IIS 如何输出 PHP 错误。

  • IIS 的默认设置
  • IIS 默认情况下不会显示 PHP 错误,这是由于安全性考虑。如果 PHP 脚本中的错误信息直接输出,可能会泄露服务器上的重要信息,从而给黑客攻击留下了漏洞。因此,IIS 在默认情况下会将 PHP 错误信息记录在 Windows 事件日志中,只有管理员才能访问该日志。

    iis输出php错误怎么办专业教程一键解决

    如果你希望在 IIS 中直接看到 PHP 错误信息,你需要修改 PHP 和 IIS 的设置。

  • 修改 PHP 的设置
  • 打开 PHP.ini 文件,找到以下两行:

    display_errors = Off
    log_errors = On

    将 display_errors 的值改成 On。这样,PHP 脚本中的错误信息就会直接输出到浏览器上,方便查看。同时,如果你想把错误信息记录到日志里,可以将 log_errors 的值改成 On。

    修改完成后,需要重启 IIS 服务器才能生效。

  • 修改 IIS 的设置
  • 打开 IIS 管理器,找到你的网站,双击“错误页”,然后点击“编辑特性设置”。

    在“编辑特性设置”页面的“编辑属性”对话框中,找到“发送详细错误消息到客户端”这个选项,并将其设为“true”。

    此外,对于 IIS7 及以上版本,还需要设置 fastcgi 模块。

    打开 IIS 管理器,在“服务器节点”下右击,选择“模块” 选项,将 fastcgi 模块的“失败请求跟踪的详细程度”设置为“详细”,然后重启 IIS 服务器。

  • 常见的 PHP 错误
  • PHP 的错误信息通常包括两部分内容,即错误类型和错误消息。

    常见的 PHP 错误类型包括:

    • Fatal Error,致命错误,会导致程序中止运行;
    • Syntax Error,语法错误,通常是拼写错误或者引号未配对等;
    • Warning,警告信息,通常表示程序可能会出现问题;
    • Notice,提示信息,通常是一些不重要的信息。

    常见的 PHP 错误消息包括:

    • Undefined variable,未定义变量;
    • Call to undefined function,调用未定义函数;
    • Division by zero,除数为 0;
    • Cannot modify header information,无法修改报头信息;
    • Failed opening required,无法打开所需的文件。
  • 总结
  • IIS 的默认设置下不会直接输出 PHP 错误信息,需要自己进行一些设置。在修改 PHP 的设置时,需要将 display_errors 设置为 On,并将 log_errors 设置为 On,以便方便地查看 PHP 错误信息。在修改 IIS 的设置时,需要将“发送详细错误消息到客户端”这个选项设为“true”,并设置 fastcgi 模块的详细程度。最后,还需要掌握常见的 PHP 错误类型和消息,才能更好地进行排错和修复。



    一、排除基本错误
    在开启iis输出php错误前,需要排除一些基本错误,可能造成输出失败或错误。这包括检查HTML代码、数据库连接、变量是否正确等。准备好充足的时间,耐心排查下去,你会惊喜地发现问题或许不是那么复杂。
    二、修改php.ini配置文件
    打开php.ini配置文件,搜索并找到下列代码:error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
    将其修改为:error_reporting = E_ALL 在下列代码下方添加代码:display_errors = On
    这样配置完后,访问php页面会直接在页面上显示错误信息。
    三、修改iis注册表项 方法
    打开注册表编辑器,找到以下目录:HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W3SVC\\Parameters\\Script Map 修改其php5isapi.dll值为你的绝对路径。
    接下来,在该目录下继续添加一个新项:里面有三个参数,分别为: Extension .php、 ScriptEngine C:\\php\\php-cgi.exe(注意替换成你的路径)、Flags 1。
    重启IIS后就可以直接在页面输出php错误啦!
    四、使用调试工具追踪
    如果以上两种方法都无法解决问题,我们就需要使用工具进行调试追踪了。常用的有xdebug、phpdbg等调试工具,具体使用方法可自行百度。
    当出现php错误时,及时发现并进行解决非常重要。希望以上方法能够帮到需要的你,让你早日解决疑难问题!