【问题标题】:Change PHP version in IIS 6在 IIS 6 中更改 PHP 版本
【发布时间】:2011-10-17 12:51:57
【问题描述】:

尝试在 IIS 6.0 上从 PHP 5.2.5 升级到 5.2.17(然后升级到 5.3.6),安装语言本身运行良好,我更改了 IIS 使用的 PHP.ini/ect 位置对于 PHP,一切仍然有效,但是当我在我的网站上运行 PHP 信息时,它仍然说它正在运行 PHP 5.2.5。重新启动IIS,甚至重新启动服务器,没有区别。我该怎么做才能更改 PHP IIS 使用的版本/位置?

当我安装 PHP 5.3.6 时,该站点不再工作,所以我知道安装不同的版本正在做一些事情,但我认为它可能只是更改了我的服务器正在使用的 PHP.ini,而不是 PHP 的版本。

除了安装 PHP 的 windows 二进制版本外,我还尝试从 Microsoft 的 Web 平台安装程序(5.3.6 和 5.2.17)安装 PHP,但安装后两者都没有在 phpinfo 中显示为当前版本。

【问题讨论】:

  • 不知道 iis 但您是否尝试过按照教程进行操作:blogs.iis.net/donraman/archive/2009/10/08/…
  • 将 PHP 5.2.5 升级到 5.2.17: 1) 完全停止 IIS(或停止使用 PHP 的网站并重新启动 IIS); 2)将新的PHP版本安装到相同的位置——你可以复制新文件而不是替换所有旧文件..但最好先删除所有旧文件(也许.ini文件除外); 3) 如果您使用一些非标准的 php 扩展,那么您可能还需要更新它们; 4) 恢复 IIS。这对我来说总是很有效。
  • 如果从 5.2 升级到 5.3 -- 那是另一回事。我不知道你是如何运行 5.2 的(很可能是 ISAPI 模式),但 5.3 只能通过 FastCGI 运行。在 ISAPI 模式下,您需要使用线程安全构建,而在 FastCGI 中必须是非线程安全的。这是要检查的另一点。在任何情况下——在进行这种升级时禁用所有非捆绑扩展,直到你使这个简单的代码工作:<?php phpinfo(); ?>。完成后——启用扩展并再次检查。如果可行——试试你的代码。

标签: php iis iis-6 php-5.3 php-5.2


【解决方案1】:
  1. http://windows.php.net/download/下载最新的VC11 x86非线程安全版本的PHP
  2. 下载 zip 文件后,右键单击 zip 文件并选择属性。确保取消阻止该文件。
  3. 将您当前的 PHP 文件夹重命名为 PHPold。
  4. 找到您的 php.ini 文件并将其重命名为 phpold.ini
  5. 将 zip 文件解压到 c:\temp\php。
  6. 将 php 文件夹从 c:\temp 复制到旧 PHP 文件夹所在的位置。
  7. 转到新的 php 文件夹并复制 php.ini-production 并将其粘贴到旧 php.ini 文件所在的位置
  8. 将 php.ini-production 重命名为 php.ini
  9. 在服务器上,确保您有 Notepad++ 以及 Compare 插件。如果您需要比较插件,请使用这些步骤。 http://www.davidtan.org/how-to-compare-two-text-files-using-notepad-plus/
  10. 在存储 phpold.ini 和 php.ini 的位置,右键单击每个文件并使用 Notepad++ 打开它们。在 php.ini 上,只对旁边带有 >> 的行进行更改。
  11. 完成更改后,请确保保存 php.ini。
  12. 转到服务并重新启动 IIS。

【讨论】:

    【解决方案2】:

    如果您想使用 php 5.3,您必须安装 IIS FastCGI 扩展并将 PHP 作为 cgi 脚本运行。从 php 5.3 开始不支持 isapi。但是,如果您对其进行配置,一切正常,并且您可以同时使用更多的 php 版本。 IIS 6 不是问题。下载 PHP 非线程安全的。

    详情请看这里,例如:http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/

    【讨论】:

    • 很高兴知道这是可能的,尽管正如我的回答所分享的,我已经继续前进了。希望其他发现这个问题的人会发现它很有用:)
    【解决方案3】:

    就我而言,解决方案是迁移到 Apache。 IIS 7 有更好的工具,但事实证明 IIS 在这种情况下是一个糟糕的开发环境。

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2020-02-16
      • 1970-01-01
      • 2012-09-21
      • 2021-02-17
      • 2015-08-07
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多