我正在尝试在使用 IIS6 的 Windows Server 2003 计算机上安装 PHP。我遵循本指南安装它,包括使用 fastCGI 的二进制文件。我认为我做的一切都是正确的,但是,当我去创建 phpinfo(); 页面时,我得到了以下信息:服务器错误,无法连接到 fastcgi 服务器。
我尝试查看所有我能想到的日志。IIS 日志中没有任何有用的信息,PHP 甚至从未记录过任何错误或任何内容,我的事件日志中也没有任何信息。
请帮忙,谢谢:)
答案1
这是一篇相当过时的博客文章,从那时起生活已经发生了很大变化。所以忘记你在那一页上读到的一切 :)
1.下载PHP:
下载适用于 Windows 的最新稳定版 PHP。在本例中,下载 PHP 5.3.6 x86 非线程安全 zip 文件(注意:随着 PHP 团队发布新的稳定二进制文件,版本号可能会发生变化):
http://windows.php.net/download/
http://windows.php.net/downloads/releases/php-5.3.6-nts-Win32-VC9-x86.zip
将 zip 文件的内容解压到名为 的文件夹中C:\PHP
,以便此文件夹中具有以下子文件夹结构:
C:\PHP\dev , C:\PHP\ext , C:\PHP\extras, etc
将其中一个php-*.ini
文件重命名为php.ini
,然后根据您的要求进行编辑。
2. 为 IIS5.1/6.0 安装/配置 Microsoft 的 FastCGI 扩展:
安装 Microsoft 的 IIS6 FastCGI 扩展,可以从这里下载:
安装后,进行编辑C:\Windows\System32\InetSrv\fcgiext.ini
,使其仅包含以下内容:
[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-cgi.exe
3.配置IIS PHP Scriptmap:
.php
通过右键单击网站并选择属性来编辑或添加脚本图到您选择的网站(或者您可以全局添加):
选择选项Home Directory
卡并单击Configuration
:
单击Add
(或者如果您仍然.php
列出脚本图,则将其删除并重新添加)。
您需要用以下值填充可执行文件和扩展字段:
Executable: C:\WINDOWS\system32\inetsrv\fcgiext.dll
Extension: .php
单击“确定”并保存这些更改。
4.在 PHP.INI 中配置 PHP FastCGI 设置:
C:\PHP\php.ini
在编辑器中打开并找到并配置以下设置:
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
date.timezone = Europe/London ; (http://uk3.php.net/manual/en/timezones.php)
看来您现在需要设置时区以使phpinfo();
页面正确呈现,但无论如何设置它都是一个好主意。
5.测试PHP:
创建一个名为的文件,test.php
内容如下:
<?php
phpinfo();
?>
浏览此页面,如果一切顺利,您应该会看到:
之后,您就可以自行微调配置,例如决定使用哪些扩展等等。
思考总结:
根据系统的设置方式,您可能需要调整C:\PHP
文件夹的权限。如果这是常规安装,并且您的网站使用网络服务帐户在应用程序池中运行,并且您使用生成的IUSR_<MACHINE_NAME>
匿名帐户,那么您不需要更改任何内容。
答案2
您可能会在 C:\WINDOWS\temp\php-errors.log 中的 php 日志中发现错误
仅当您修改 php.ini 文件(如果您已按照这些说明操作,则位于 c:\windows 中)并删除行中的分号时,它们才会出现在事件日志中
;错误日志=系统日志