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.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.2.17";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: waituntilterminatedAction: 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 文件

$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

;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.3.0/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.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;
[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

如果要复制以上文件,注意更改版本号与路径。