php可以在官網下載http://windows.php.net/download/,php 5.4之前的版本似乎沒有了,舊版本我是其它地方找的。
我們將使用fastcgi模塊,直接下載非線程安全(Non Thread Safe)的版本,效率比較高.x86是32位的,x64是64位的別下錯了,然后點zip下載。
下載解壓放到某個目錄,比如:
E:\php7.0.3\
E:\php5.5.30\
E:\php5.2.6\
php.ini的配置這里就不說了,原來該怎么設置怎么設置。
步驟
1.打開IIS 7。 IIS最上層>處理程序映射
2.右邊 添加模塊映射
3.在彈出的窗口中
路徑寫*.php 模塊選FastCgiModule,可執行文件是php目錄下的php-cgi.exe
名稱隨便填,為了好記可以填php版本名稱,然后確定。
再添加幾次 把多個版本的php都添加進去
4.由於是點IIS最上層添加,而不是點某個網站添加,所以每個網站目錄不會自動生成一個web.config文件。我們可以自己添加一個utf-8編碼的web.config文件放到網站目錄下,用於調用不同版本的php,不管有沒有多個版本的php,都需要這么一個web.config文件,內容如下:
1
2
3
4
5
6
7
8
9
10
11
|
<?
xml
version="1.0" encoding="UTF-8"?>
<
configuration
>
<
system.webServer
>
<
handlers
>
<
remove
name="php5.5.30" />
<
remove
name="php7.0.3" />
<
remove
name="php5.2.6" />
<
add
name="php5.2.6" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\php7.0.3\php-cgi.exe" resourceType="Unspecified" requireAccess="Script" />
</
handlers
>
</
system.webServer
>
</
configuration
>
|
主要就是scriptProcessor(腳本處理器)路徑不同,決定了調用了不同版本的php。
<remove name="php5.5.30" />也很重要,先把所有版本的php都移除一遍(這里的"name=" 就是之前填的名稱)。再add name=,確保調到的是需要的版本。
注意:如果這邊remove只有3個,而實際上你加了5個版本的php的話,為了確保調用到正確的版本,應該把另兩個加進去。
然后就可以了。有新站的話就把這個web.config拷到站點的目錄里,再修改下scriptProcessor的路徑就可以了。
我這幾個php共用的是一個MySql,版本是5.6.24,能正常使用。
由於php不同版本間是不怎么向后兼容的,比如php5.6以后不支持mysql_*函數連接mysql數據庫,只支持mysqli_*和pdo_*等,所以多版本共存還是比較有意義的。