在这里慢慢失去理智。我在 IIS 下让 PHP 5.2 工作正常(ISAPI),但对于某些扩展,我需要 5.3。所以不用担心,我安装了这个,但事实证明不再提供 ISAPI。
我按照 fastcgi 的安装教程进行操作,结果每个 PHP 页面都出现 500 个内部服务器错误。
所以我目前的情况是:我已经删除了fastcgi。在我的网站中,我添加了 PHP(head、get、post)并将它们路由到 c:\php\php-cgi.exe。
结果:我尝试的每个 PHP 页面(即使是只有文本的页面)都会出现 404 not found 错误。我放在同一个文件夹中的任何 HTML 文件都可以顺利使用。
谁能帮助我......这样的事情有多难?对我来说显然很难。
额外的信息:
按照下面的建议运行安装程序。将其设置为使用 fastcgi。
我的
fcgiext.ini
文件现在看起来像这样:
[types]
php=c:\php\php-cgi.exe
[c:\php\php-cgi.exe]
exepath=c:\php\php-cgi.exe从命令行一个 3 行 PHP 文件
phpinfo();
工作正常- 来自服务器的相同 PHP 文件只会
phpinfo();
导致内部服务器 500 错误。 - 从服务器一个只有文本的 PHP 文件可以正常工作
- 在 IIS 管理控制台中更改文档类型并将 PHP 扩展直接指向
c:\php\php-cgi.exe
每个 PHP 文件的结果为 404 - 这
php.ini
是php.ini.production
分发中的文件。没有进行任何编辑。
将 IIS PHP 处理程序直接设置为 PHP(而不是通过 fastcgi)c:\php\php-cgi.exe
会导致以下结果:
- 显示一个只有文本的 PHP 页面....工作正常
- 显示只有
phpinfo();
404 未找到结果的页面
我发现了问题。在 php.ini 中有一些需要为 CGI 和 IIS 设置的值。force_redirect 需要为 0。此外,PHP 扩展需要添加到 IIS 的 webextensions 部分。
这些东西解决了问题。
您是否尝试过安装程序 .msi?
对于 php 5.3 的 rc4,它位于http://windows.php.net/downloads/qa/php-5.3.0RC4-nts-Win32-VC6-x86.msi。
但首先在另一台非生产服务器上对其进行测试。编辑:无论如何它都是一个候选版本,所以你可能想在测试测试服务器上尝试安装程序......