我正在尝试将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开发设置:
以上配置适用于未加入公司域的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服务作为本地系统运行。
有什么想法,找出为什么这不起作用?
答案 0 :(得分:1)
事实证明,IIS_IUSRS组需要对d:\ php文件夹进行完全控制的NTFS访问。