基于每个站点的 PHP 错误报告 IIS7

Posted

技术标签:

【中文标题】基于每个站点的 PHP 错误报告 IIS7【英文标题】:PHP error reporting on a per site basis IIS7 【发布时间】:2012-10-16 15:01:18 【问题描述】:

我查看了有关iis7上php错误报告的各种问题,但未能解决我的问题。

我在我的 php ini 文件中关闭了错误报告,(此服务器上的许多站点是从 IIS 6 传输的,这些站点正在产生警告等)

我真的需要在每个站点的基础上打开错误报告,我查看了这个线程: How to get useful error messages in PHP? 我已尝试添加到 .htaccess:

# PHP error handling for development servers
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log \inetpub\vhosts\camerich.co.uk\subdomains\2012\httpdocs\PHP_errors.log
php_value error_reporting 999999999
php_value error_reporting -1
php_value log_errors_max_len 0

<Files PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

并添加到我的 php 文件中: 错误报告(E_ALL); ini_set('display_errors', '1');

我仍然没有显示任何错误,只是错误 500 内部服务器错误。 如果我在通过远程桌面连接登录服务器的同时浏览该站点,我确实会收到错误,但对于开发站点的客户,我显然不想让他们获得对服务器的 root 访问权限以查看这些错误。

我有什么遗漏吗? 所以我的问题是:

我上面详述的步骤是否正确? (我用的是helicon ape)

更改 htaccess 后,我是否必须重新启动 iis7 或者只是重新启动站点就足够了?

也没有生成日志文件,日志文件的路径是否包含包含驱动器号在内的完整路径?或者如果不是路径应该是什么,例如说我在这个文件夹中的网站: D:\inetpub\vhosts\mydomain\subdomains\2012\httpdocs 我应该把什么作为日志文件的路径。

感谢您花时间阅读我的问题。

【问题讨论】:

这个问题在 SO - ***.com/questions/1586317/… 上得到了回答 【参考方案1】:

.htaccess 文件在 IIS 中是无用的,它们是 Apache 服务器的配置文件。 IIS 有一个 PHP 配置扩展,安装它(例如从 Web 安装程序),然后你可以配置错误报告(当然你可以直接使用 php.ini)。

【讨论】:

htaccess 文件在 iis7 中没有用,至少不是用于 url 重写,正如我在帖子中所说,我使用 helicon ape,我认为 iis7 也有一个微软重写模块,也许htaccess 不能用于错误报告,但可以使用... IIS 配置文件是具有 XML 语法的 .config 文件。 Helicon 的东西只是 IIS 解析 .htaccess 文件的托管模块。【参考方案2】:

我发现这篇文章解决了报错问题:

http://www.inetnj.com/?page_id=232

基于每个站点的错误报告似乎是由 asp 面板控制的,如果您使用 php,我会感到困惑,我会认为这会在某处的 php 设置下。

当您调试您的网站(经典 ASP、ASP.NET 或 PHP5)时,您 希望查看您遇到的错误报告 你的浏览器。为此,您需要启用显式 IIS7 中的错误报告。

从管理员工具中打开 Internet 信息服务 (IIS) 管理器。

从左侧窗格树中单击您的网站,然后从中心面板双击 ASP。

在设置为 True 的调试属性下,将错误发送到浏览器选项。

【讨论】:

以上是关于基于每个站点的 PHP 错误报告 IIS7的主要内容,如果未能解决你的问题,请参考以下文章

如何使用调用站点上下文报告/传播 Firestore 错误到 recordError

遇到IIS7配置PHP出现403和404错误的解决办法

调整类似于错误报告的 PHP 异常报告

无法让 PHP 报告错误

为啥不在 PHP 中使用最高错误报告级别?

PHP中如何设置error_reporting错误报告级别