2011-08-01 39 views
1

嘗試在IIS 6.0上從PHP 5.2.5升級到5.2.17(然後升級到5.3.6),安裝語言本身運行良好,我更改了PHP.ini/etc的位置,IIS用於PHP,一切仍然有效,但是當我在我的網站上運行PHP信息時,它仍然表示它正在運行PHP 5.2.5。重新啓動IIS,甚至重新啓動服務器,沒有區別。我該怎麼做才能更改PHP IIS的哪個版本/位置?在IIS 6中更改PHP版本

當我安裝PHP 5.3.6的網站不再有效,所以我知道安裝不同的版本正在做SOMETHING,但我認爲它可能只會改變我的服務器使用的PHP.ini,而不是PHP的版本。

除了安裝PHP的windows二進制版本之外,我還嘗試從Microsoft的Web Platform Installer(5.3.6和5.2.17)安裝PHP,安裝後都沒有顯示爲當前版本的phpinfo。

+0

不知道iis,但你有沒有嘗試按照教程:http://blogs.iis.net/donraman/archive/2009/10/08/upgrading-to-php-5-3-an -easy-way.aspx? – Awea

+0

要將PHP 5.2.5升級到5.2.17:1)完全停止IIS(或停止使用PHP並重新啓動IIS的網站); 2)將新的PHP版本安裝到相同的位置 - 您可以複製新文件來替換所有舊文件..但是最好先刪除所有舊文件(可能不包括.ini文件); 3)如果你使用一些非標準的PHP擴展,那麼你可能需要更新它們; 4)恢復IIS。這對我來說一直很好。 – LazyOne

+0

如果從5.2升級到5.3 - 這是一個不同的故事。我不知道你如何運行5.2(完全可能的ISAPI模式),但5.3只能通過FastCGI運行。在ISAPI模式下,您需要使用線程安全構建,而FastCGI必須是非線程安全的。這是另一個要檢查的問題。在任何情況下 - 當進行這種升級時,禁用所有非捆綁擴展,直到你使這個簡單的代碼工作:'<?php phpinfo(); ?>'。完成後 - 啓用擴展並再次檢查。如果有效 - 試試你的代碼。 – LazyOne

回答

1

如果您想使用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/

+0

很高興知道這是可能的,但作爲我的回答共享,我已經繼續前進。希望其他人發現這個問題會發現它有用:) –

0

解決方案已轉移到Apache在我的情況。 IIS 7有更好的工具,但在這種情況下IIS已被證明是一個糟糕的開發環境。

1
  1. http://windows.php.net/download/
  2. 一旦ZIP下載下載最新的PHP VC11 x86的非線程安全的版本,請右鍵單擊zip文件,並選擇屬性。確保您解除阻止文件。
  3. 將您當前的PHP文件夾重命名爲PHPold。
  4. 找到您的php.ini文件並將其重命名爲phpold.ini
  5. 將zip文件解壓縮到c:\ temp \ php。
  6. 將c:\ temp中的php文件夾複製到舊的PHP文件夾所在的位置。
  7. 轉到您的新的PHP文件夾,複製的php.ini製作並粘貼到您的舊的php.ini文件是
  8. 重命名的php.ini-生產爲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。