WampServer是一個整合了PHP/Mysql/Apache及其它應用(如PhpMyAdmin/Xdebug[也許沒有])的軟體,它最令人喜愛的特徵,不是令Php/Mysql/Apache的安裝配置簡單化,而是讓我們只需要點點滑鼠,就可以隨意切換已經安裝的PHP/Mysql/Apache的不同版本。對於PHP不同版本的需求,PHP程式員都最清楚不過了。
WampServer的Version菜單(Apache、PHP、Mysql各自有一個Version菜單)上,有一個 Get More... 串連,點擊它就可以到官網上下載你需要的版本,安裝是自動化的,非常簡單。但是,到我寫本文為止,官網的PHP5.2最高為5.2.11,PHP5.3最高為5.3.1。5.2最穩定的5.2.17、5.3最新的5.3.8都沒有提供,而且更新非常慢。沒有我們需要的版本,怎麼辦?毛大爺說過一句至理名言:自己動手,豐衣足食!
手工安裝新版本的PHP,只需以下步驟:
- 下載要安裝的PHP版本。既然是用WampServer,那當然是下載Window版本的ZIP包啦:http://windows.php.net。解壓到 Wamp的安裝目錄\bin\php\php5.2.17。這裡以5.2.17為例。
- 進入 Wamp的安裝目錄\bin\php\php5.2.17 目錄,從 php.ini-dist 或者 php.ini-recommended 複製一份,重新命名為php.ini,適應修改php.ini配置(如extension_dir),再從php.ini複製一分,重新命名為 phpForApache.ini。
- 從已有的版本目錄中複製一份 wampserver.conf。比如我安裝WampServer的時候已經有php5.3.0,在 Wamp的安裝目錄\bin\php\php5.3.0 目錄下複製wampserver.conf 到 Wamp的安裝目錄\bin\php\php5.2.17。
- 修改Wamp設定檔:進入 Wamp的安裝目錄,用IDE或記事本(最好使用行號定位的記事本,如EditPlus等)開啟 wampmanager.ini,定位到 335 行,通常在這一行就是[phpVersion],如果不是,則在附近找找。複製下面一行:Type: item; Caption: "5.3.0"; Action: multi; Actions:switchPhp5.3.0
插入到這一行前面,並修改為Type: item; Caption: "5.2.17"; Action: multi; Actions:switchPhp5.2.17再複製
[switchPhp5.3.0]
Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "Wamp的安裝目錄/bin/php/php5.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.3.0";WorkingDir: "Wamp的安裝目錄/scripts"; Flags: waituntilterminated
Action: run; FileName: "Wamp的安裝目錄/bin/php/php5.3.0/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "Wamp的安裝目錄/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;插入這一段之前,並修改為[switchPhp5.2.17]
Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminatedAction: run; FileName: "Wamp的安裝目錄/bin/php/php5.2.17/php-win.exe";Parameters: "switchPhpVersion.php 5.2.17";WorkingDir:
"Wamp的安裝目錄/scripts"; Flags: waituntilterminated
Action: run; FileName: "Wamp的安裝目錄/bin/php/php5.2.17/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "Wamp的安裝目錄/scripts";
Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
- 退出WampServer,再重啟。完成。
通過這5步,即可完成PHP任意版本的安裝。
另附兩個檔案的執行個體:
1. Wamp的安裝目錄\bin\php\php5.2.17\wampserver.conf,這實際是PHP檔案
<?php
$phpConf['phpIniDir'] = '.';
$phpConf['phpExeDir'] = '.';
$phpConf['phpConfFile'] = 'php.ini';
$phpConf['apache']['1.3']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['1.3']['LoadModuleFile'] = 'php5apache.dll';
$phpConf['apache']['1.3']['AddModule'] = 'mod_php5.c';
$phpConf['apache']['2.0']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.0']['LoadModuleFile'] = 'php5apache2.dll';
$phpConf['apache']['2.0']['AddModule'] = '';
$phpConf['apache']['2.2']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.2']['LoadModuleFile'] = 'php5apache2_2.dll';
$phpConf['apache']['2.2']['AddModule'] = '';
?>
2. Wamp的安裝目錄\wampmanager.ini
[phpVersion
]
;WAMPPHPVERSIONSTART
Type: item; Caption: "5.2.17"; Action: multi; Actions:switchPhp5.2.17; Glyph: 13
Type: item; Caption: "5.3.0"; Action: multi; Actions:switchPhp5.3.0
Type: separator;
Type: item; Caption: "Get more..."; Action: run; FileName: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"; Parameters: "http://www.wampserver.com/addons_php.php";
[switchPhp5.2.17
]
Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "D:/programs/wamp/bin/php/php5.2.17/php-win.exe";Parameters: "switchPhpVersion.php 5.2.17";WorkingDir: "D:/programs/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "D:/programs/wamp/bin/php/php5.2.17/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "D:/programs/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
[switchPhp5.3.0
]
Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
Action: run; FileName: "D:/programs/wamp/bin/php/php5.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.3.0";WorkingDir: "D:/programs/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "D:/programs/wamp/bin/php/php5.3.0/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "D:/programs/wamp/scripts"; Flags: waituntilterminated
Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
Action: resetservices
Action: readconfig;
;WAMPPHPVERSIONEND
如果要複製以上檔案,注意更改版本號碼與路徑。