php文档IIS 8和PHP 7.0.2上的HTTP 500错误

时间:2016-01-28 23:25:46

标签: php windows-server-2012 iis-8

我正在尝试将LAMP应用程序迁移到Windows / IIS。 我有一台Windows 2012 R2服务器。 我正按照https://technet.microsoft.com/en-us/library/hh994592.aspx上的说明进行操作(稍作修改:我使用了add-windowsfeature Web-Server -includeAllSubFeature来安装IIS + CGI)。 我安装了vc ++ 2015 redist(x86和x64)。 PHP 7.0.2安装在d:\ php。 用于php的IIS模块处理程序配置为:

name            : PHP_via_FastCGI
path            : *.php
verb            : *
modules         : FastCgiModule
scriptProcessor : D:\php\php-cgi.exe
resourceType    : Either
requireAccess   : Script

d:\ php位于PATH环境变量中。 我的php.ini设置是带有这些更改的php.ini开发设置:

  • extension_dir =“ext”
  • cgi.force_redirect = 0
  • fastcgi.impersonate = 1
  • fastcgi.logging = 0
  • extension = php_ curl.dll
  • log_errors = On
  • error_log = syslog

以上配置适用于未加入公司域的Windows 7桌面和2012 R2服务器,但在域中的两台2012 R2服务器上,尝试启动http://localhost/test.php时出现500内部服务器错误

c:\ inetpub \ wwwroot \ test.php包含:

<?php phpinfo(); ?>

我在Windows事件日志中没有看到任何错误信息。

在cmd窗口中运行“php c:\ inetpub \ wwwroot \ test.php”可以获得预期的phpinfo。

我已经检查了d:\ php文件夹和c:\ inetpub \ wwwroot文件夹的NTFS权限。它们太多而无法列出,但SYSTEM对两个文件夹都有完全控制权,而WWWPublishing服务作为本地系统运行。

有什么想法,找出为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

事实证明,IIS_IUSRS组需要对d:\ php文件夹进行完全控制的NTFS访问。