iis中,php如何显示运行错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iis中,php如何显示运行错误相关的知识,希望对你有一定的参考价值。
我是用了win2003系统,现在运行php代码,如果有错,页面就是什么内容都不显示,如何设置可以显示运行错误,比如提示哪一行代码有什么错误!
参考技术A php程序目录下,有个php.ini,用记事本打开,里面有说明和设置项,包括是否打开显示错误的功能,以及显示的等级。在 IIS 7 上添加对 PHP 的写入权限
【中文标题】在 IIS 7 上添加对 PHP 的写入权限【英文标题】:Add writing permission to PHP on IIS 7 【发布时间】:2011-08-18 17:32:56 【问题描述】:我需要一个 PHP 脚本才能在目录中拥有写入权限。 PHP 5.3 在 IIS 7 下作为 FastCGI 运行,Windows Server 2008 作为 OP。在我的 php 错误日志中,当脚本尝试写入文件时,我得到“权限被拒绝”。
我该如何解决这个问题?我试图将所有权利授予 IIS_IUSR 和 IUSR_myservername(右键单击我的文件夹),但没有成功。
任何帮助将不胜感激,
问候,
朱利安
【问题讨论】:
【参考方案1】:您需要授予 PHP 写入权限,而不是 IIS。这意味着运行 PHP 的用户帐户需要权限(可能与运行 IIS 的用户帐户相同)。
【讨论】:
如何判断 PHP 运行在哪个帐户上? php-cgi.exe 将从 w3wp.exe 生成并具有相同的上下文。就像上面所说的 tomfumb 所说,授予 Windows 安全上下文 'IIS APPPOOL\MyAppName' 对相关文件夹的写入权限。 要确切知道您需要向哪个用户授予写入权限,请查看我的答案。【参考方案2】:我有相同的设置,我必须授予写权限:
IUSR
IIS AppPool\<<AppPoolName>>
【讨论】:
非常感谢,当我给IUSR写权限时它就可以工作了! 你还需要iisreset
才能重新加载php。
@svandragt 因为如果您的应用程序使用“应用程序池标识”运行,这就是它使用的帐户
在我的情况下,不需要做 iisreset,只给 IUSR 写权限就可以了。
> 可能是 DefaultAppPool【参考方案3】:
其实稍微复杂一点。
首先要做的是在相关网站上创建一个简单的 PHP 文件。 (在相关网站上创建文件很重要,因为每个网站可以有不同的设置。)该文件的内容应该是:
<?php var_dump(ini_get('fastcgi.impersonate')); ?>
使用浏览器导航到该文件。
** 案例 1 **
如果您的浏览器显示:
string(1) "1"
然后,您需要执行以下命令(您需要将“默认网站”替换为您在 IIS 中为您的网站指定的名称):
%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication
您将收到如下所示的答案:
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" userName="IUSR" />
</authentication>
</security>
</system.webServer>
您要查找的信息是anonymousAutthentification
标记的username
属性的值。
IIS AppPool\AppPoolName
授予写入权限(将“AppPoolName”替换为您网站的应用程序池的名称)。
** 案例 2 **
如果您的浏览器显示:
string(1) "0"
您需要向IIS AppPool\AppPoolName
授予写入权限(将“AppPoolName”替换为您网站的应用程序池的名称)。
【讨论】:
非常感谢您提供的详细信息。当答案只是“x”而不说如何找出答案或为什么是“x”时,我总是有点坐立不安 在哪里执行命令?在 cmd 中还是在某些特定的 shell 中? @tristan Charbonnier 很抱歉碰到一个旧线程,但您知道如何为 AD 和网络驱动器设置应用程序池权限吗? 这需要更多的支持! ...经过 4 天与“缺少临时文件夹”相关的搜索。 WordPress中的问题,我终于明白它的IIS AppPool需要PHP upload_tmp_dir文件夹而不是WP_TEMP_DIR的权限。谢谢老兄!以上是关于iis中,php如何显示运行错误的主要内容,如果未能解决你的问题,请参考以下文章
IIS服务器环境下某路径下所有PHP接口无法运行报500.19错误
IIS7 + PHP5.3.16 + Plesk 如何获取 500 错误的详细信息?