下面以添加php5.6为说明例子,php7,php8的添加也类似。
Wampserver是windows下的 apache, php, mysql 一体化安装包,安装完成启动后,它有一个简单清晰易懂,常驻任务栏的图标,点击弹出非常丰富的功能菜单 ,很方便地实现各种 快捷功能操作。缺点是配套软件的版本通常跟不上新版,且3.x后的安装包体积越来越大。
1、下载wampserver2.5,文件包名:wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe,地址:
https://sourceforge.net/projects/wampserver/files/WampServer%202/Wampserver%202.5/
这个版本只有40M,包含: Apache-2.4.9,Mysql-5.6.17,php5.5.12,phpmyadmin4,sqlbuddy1.3.3
2、下载php5.6,建议是ts(ThreadSafe)版本。
镜像列表:https://windows.php.net/downloads/releases/archives/
文件包名:php-5.6.40-Win32-VC11-x64.zip
( 凡没有带nts后缀的软件包,就是ts软件包)
3、安装wampserver2.5,打开其安装目录并定位到php所在目录。
如:{Path}\wamp\bin\php,目录里面已经有一个 php5.5.12 文件夹。
把刚才下载的 php5.6 解压到 bin\php 目录下并命名为php5.6.40,
这样,目录下就有两个版本的PHP文件夹。
4、如果你用的是Wamp2.x版本,这里,还有一个莫名其妙的操作需要做的就是:
复制目录下的 DO_NOT_DELETE_5.5.12.txt
保存到当前目录下,并命名为 DO_NOT_DELETE_5.6.40.txt
还有,更名或删除 \wamp\bin\apache\apache2.4.9\bin下的php.ini文件
5、复制php5.5.12下的php.ini、phpForApache.ini、wampserver.conf至php5.6.40目录下,
并将php.ini、phpForApache.ini中的5.5.12全部替换成5.6.40
( 实际上就是把 extension_dir 设置为 全路径指向,以及 xdebug 的相关信息修改 ;
你也可以直接编辑新版的php.ini,把 extension_dir 设置为 全路径指向,然后复制一分命名为phpForApache.ini )
6,xdebug版本也要相应修改,从https://xdebug.org/download.php网址下载对应的xdebug.dll。
如果php5.6不需要xdebug,打开php5.6.40目录下的 php.ini和phpForApache.ini,(如果此文件存在xdb配置)把文件末尾的 xdebug信息删除保存就行了。
7,重启wamp或重启电脑,点击任务栏的启动图标,在对应菜单里,切换一下PHP版本,或者先点一下 php5.5.12,应该就能刷新出php5.6.40菜单。
8,若切换到php5.6并开启curl扩展,但curl仍然使用不了。把php5.6安装目录下的libssh2.dll复制到apache的bin目录,并重新启动apache。
9,其它php版本初步测试
php7
php7.4.32 测试成功,须要下载 php7的 ts 、 x64版本,
需要编辑 wampserver.conf,找到类似的文本,并改为 php7_module php7apache2_4.dll
php8
php8.2.5 升级成功。但要修改 apache\conf\httpd.conf ,找到类似如下的文本,改为
LoadModule php_module "E:/work/wamp/bin/php/php8.2.5/php8apache2_4.dll"
(注意,上面是 php_module ,不是 php8_module )
10,启动wamp,片刻图标变为 绿色,表示启动成功。
否则不成功。这时,用命令行界面,进入 apache\apache2.4.9\bin 路径,打入命令 httpd ,这时,终端界面会显示 相关错误提示信息。
附录:
一、wamp2.5安装后默认mysql5.6是没有密码的。在开启应用后,点击任务栏的图标选择
MySql --> MySQL console,在弹出的命令行窗口里,在Enter Password : 处,直接按enter,进入。键入创建密码的命令:mysql > set password for root@localhost = password('123');
二、新alias conf写法参考
Options FollowSymLinks
AllowOverride None
Require all granted
Allow from all
三、隐藏版本信息。编辑httpd.conf,找到如下key,改为如下值
ServerTokens Prod
......
ServerSignature Off
四、Apache反向https代理配置例子
在httpd.conf最下面添加如下:
(apache打开https端口8442,反向代理外/内部指定端口)
Listen 8442
ErrorLog logs/logicserver-error.log
CustomLog logs/logicserver-access.log common
ProxyVia Off
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /app_yw/ http://localhost:8090/
ProxyPassReverse /app_yw/ http://localhost:8090/
# https ://localhost:8442/app_yw/ ---> http://localhost:8090/
SSLEngine on
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD
#SSLCertificateFile "D:\local\full\path\yourdomain.pem"
#SSLCertificateKeyFile "D:\local\full\path\yourdomain.key"
SSLCertificateFile "D:\local\full\path\yourdomain.cer"
SSLCertificateKeyFile "D:\local\full\path\yourdomain.key"