php 文档 IIS 8 和 PHP 7.0.2 上的 HTTP 500 错误
HTTP 500 Error on php document IIS 8 and PHP 7.0.2
我正在尝试将我的 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
- 分机=php_curl.dll
- log_errors = 开启
- error_log = 系统日志
以上配置适用于 Windows 7 桌面和未加入公司域的 2012 R2 服务器,但在域中的两台 2012 R2 服务器上我在尝试时收到 500 内部服务器错误发射 http://localhost/test.php.
c:\inetpub\wwwroot\test.php 包含:
<?php phpinfo(); ?>
我在 Windows 事件日志中没有看到任何错误信息。
运行 "php c:\inetpub\wwwroot\test.php" 在 cmd window 给了我预期的 phpinfo.
我检查了 d:\php 文件夹和 c:\inetpub\wwwroot 文件夹的 NTFS 权限。它们太多而无法列出,但是 SYSTEM 对这两个文件夹具有完全控制权并且 WWWPublishing 服务是 运行 作为本地系统。
有什么想法可以找出这不起作用的原因吗?
事实证明,IIS_IUSRS 组需要对 d:\php 文件夹的完全控制 NTFS 访问权限。
我正在尝试将我的 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
- 分机=php_curl.dll
- log_errors = 开启
- error_log = 系统日志
以上配置适用于 Windows 7 桌面和未加入公司域的 2012 R2 服务器,但在域中的两台 2012 R2 服务器上我在尝试时收到 500 内部服务器错误发射 http://localhost/test.php.
c:\inetpub\wwwroot\test.php 包含:
<?php phpinfo(); ?>
我在 Windows 事件日志中没有看到任何错误信息。
运行 "php c:\inetpub\wwwroot\test.php" 在 cmd window 给了我预期的 phpinfo.
我检查了 d:\php 文件夹和 c:\inetpub\wwwroot 文件夹的 NTFS 权限。它们太多而无法列出,但是 SYSTEM 对这两个文件夹具有完全控制权并且 WWWPublishing 服务是 运行 作为本地系统。
有什么想法可以找出这不起作用的原因吗?
事实证明,IIS_IUSRS 组需要对 d:\php 文件夹的完全控制 NTFS 访问权限。