我的 C: 驱动器中安装了 Wamp Server 2.4。我想在 D: 驱动器中安装 Wamp Server 2.5。由于某种原因,我无法停止 C: 中的 Wamp Server。但同时我想使用 2.5 版本。
1) 我可以同时使用两者吗?如果可以,需要做哪些额外的工作?
如果没有,我至少可以将 2.4 版本更新到 2.5 而不影响现有的项目文件和数据库吗?
答案1
安装新版本的 WAMPServer
切勿在现有安装上安装新版本的 WAMPServer
您可以将 WAMPServer 安装到任何磁盘驱动器(C:、D: 等)。
但是您不能在两个不同的驱动器上进行 2 次单独的安装,因为服务 (Apache/MySQL) 将被第二个安装覆盖,即使它位于单独的驱动器上!因此,您实际上将运行第二个安装,而不是第一个。最好将它安装在您选择的磁盘的根目录中,即X:\wamp
不要将其安装到 Program Files 中,它会安装在那里,但这会增加不必要的目录复杂性,并且可能会导致问题,因为该目录名称中有一个空格。请记住,Apache/PHP/MySQL 是从 Unix 移植过来的,而 Unix 不喜欢目录或文件名中有空格。
仅限 WampServer 2.5:
从 WampServer 2.5+ 开始,可以在同一台机器上同时安装 WampServer 32 位和 WampServer 64 位。这是因为 64 位 Apache 和 MySQL 服务使用的名称已从标准 wampapache 和 wampmysql 更改为 wampapache64 和 wampmysql64,因此 32 位服务和 64 位服务现在具有不同的名称。
但不要当然,同时运行它们,因为两个 Apache 服务器仍将尝试在端口 80 上运行,而两个 MySQL 服务器则在端口 3306 上运行。
然而:
与 32 位版本相比,安装 64 位 WAMPServer 并没有什么实际好处。事实上,如果你查看 PHP.NET 网站,它会警告我们 64 位 PHP 实际上仍处于试验阶段。事实上,它还没有完全移植到完整的 64 位代码。
这不是一个简单的点击即可完成的过程。有些事情可能会让您犯错。但是,只要有一点常识,这是完全可以实现的!
如果您只有 20 分钟的时间来完成此过程,请不要开始此过程,这应该是您所需要的全部时间,但根据您的技能水平和您跳过的所有 3 个软件的发布数量,可能需要更长时间。
对于那些认为自己是专家的人来说,总结一下这个过程
- 以 SQL 格式备份所有数据库并将备份存储在安全的地方。
- 停止所有服务。
- 删除 Apache 服务。
- 删除 MySQL 服务。
- 退出 WAMPServer。
- 将当前重命名
\wamp folder
为\wamp_old
(这是您的备份。不要忘记这一步)
从各方面来看,您现在已经卸载了 WAMPServer。
下载并安装新版本的 WAMPServer(建议使用 32 位,64 位仅适合极客,64 位 PHP 尚未完全转换为 64 位)
无需改变!检查其在开箱状态下是否正常工作。
清除浏览器缓存(CTRL+F5)以避免出现任何与缓存内容相关的问题。
运行 localhost
运行 phpMyAdmin(如果要求输入用户名和密码;用户名 = root / 密码 =(无,留空)
- 如果你想将部分/全部旧版本的 Apache/PHP/MySQL 带入新的 WAMPServer
(请记住,WAMPServer 的一大优势是能够在 Apache/PHP 和 MySQL 版本之间切换)
阿帕奇:
将\wamp_old\bin\apache\apachex.y.z
文件夹复制到\wamp\bin\apache\apachex.y.z
PHP的:
将\wamp_old\bin\php\phpx.y.z
文件夹复制到\wamp\bin\php\phpx.y.z
MYSQL:
将\wamp_old\bin\mysql\mysqlx.y.z
文件夹复制到\wamp\bin\mysql\mysqlx.y.z
要告诉 WAMPServer 你刚刚复制的 Apache/PHP/MySQL 的旧版本,请运行“刷新”,
右键单击 wampmanager 图标->刷新
花几秒钟的时间去查找所有新版本。
- 将旧的配置与新的配置进行比较,删除任何本地更改/要求。
请记住,配置参数在 Apache/PHP/MySQL 的不同版本之间会发生变化!请确保您的旧更改仍然是必需的、有效的、合法的。(查看所有 3 个软件提供商提供的升级说明)
- 如果一切都变得很糟糕。如果遇到问题,请查看本文档的底部,了解如何轻松取消所有这些更改。
包含有用信息和有帮助注释的完整说明。
整个过程基于这样一个事实:WAMPServer 安装基本上只是将文件复制到磁盘上,并进行一些文件定制,以便它知道您将它安装在哪个磁盘上。与您安装它的文件夹相关的唯一内容是创建 2 个 Windows 服务“wampapache”和“wampmysql”。因此,如果我们删除它们,并且在 wampmanager 上有一个菜单选项可以执行此操作,那么安装将被删除,而不会实际删除文件。
首先以格式=SQL 备份所有数据库,这些是您自己的数据库,而不是 MySQL 自带的数据库。将备份保存在安全且随时可用的地方。
可以使用 MySQL 实用程序来升级数据库,但从长远来看,对旧版本进行备份并在新版本上进行恢复要简单得多。
MySQL 的数据库是“mysql”、“information_schema”和“performance_schema”,不要备份这些,除非您知道自己在做什么并且知道您需要它们。
另外,除非您将其用于想要保留的内容,否则您不需要名为“测试”的数据库。
如果您的数据库规模较小或者中等,您可以使用 phpMyAdmin 进行备份。
如果它们很大并且 phpMyAdmin 无法备份它们(通常是由于 PHP max_runtime 限制)请增加 PHP max_execution_time 或必须使用 mysqldump.exe 进行备份。[如果需要请参阅手册](dev.mysql.com} 以获取帮助。
现在,如果您的所有站点都使用“localhost”、“root”和“”(空白密码)连接到其数据库,则没有其他可做的事情。(顺便说一句,这不是一个好主意)
如果您设置了 root 密码并使用('localhost','root' 和 'some_password_you_set'),那么您只需要记住该密码,以便在新版本的 MySQL 上重新创建它。
然而如果你已正确地完成了工作并为你的每个站点数据库创建了特定的 MySQL 用户和密码,那么你将必须去找出这些用户 ID 和密码并做个记录,以便你可以在新版本的 MySQL 上恢复数据库后重新创建它们。
或者,您可以使用 phpMyAdmin 将每个用户 ID 导出为 SQL 语句,保存这些语句,然后将它们重新应用到新版本的 MySQL。
在我们安装新的 WAMP 服务器之前
WampServer 安装实际上只安装了 2 个服务,即 Apache 和 MySQL 服务。因此,让我们删除这 2 个服务。
启动WampServer
wampmanager -> Stop all Services
wampmanager -> MySQL -> Service -> Remove service
wampmanager -> Apache -> Service -> Remove service
现在停止 wampmanager。
rightclick wampmanager -> Exit
重命名您现有的 wamp 文件夹,例如“wamp_old”。这是您的备份!不要忘记这一步。它还可以确保您将新版本的 WAMPServer 安装到新\wamp
文件夹中。
现在您可以安装新版本的 WAMP 服务器,让我们这样做。
下载并安装新的 WAMPServer,您可以安装到任何驱动器 C;、D;E;等,将其安装到驱动器的根目录中C:\wamp
,即,但不要安装到C:\Program Files\
其中。
通过以下方式检查新安装是否有效:
如果安装后没有自动启动 WAMP,请启动它。
检查系统托盘中的 wampmanager 图标是否变为绿色。
运行:wampmanager -> localhost(清除浏览器缓存 CTRL+F5 以避免任何异常)
单击此页面上的 phpMyAdmin 链接,并检查它是否也能正常工作。WampServer 2.4 带有不同的 phpmyadmin 配置,因此它最初将加载到登录页面。请记住,在新安装中,用户名 = root,密码为空白。
如果您遇到任何问题,请记住,此新安装不包含您可能对上一版本进行的任何配置定制。因此,现在是时候将旧配置与新配置进行比较,并将旧配置中您需要的任何内容重新引入到新安装中。
还要记住,您正在升级 Apache、MySQL 和 PHP,并且这三个系统的参数可能已更改/已添加/或已删除!!!!因此,不要只是将它们从旧的 wamp 复制到新的 wamp 中。那里有龙!!!
这也是为什么我们不删除旧的 wamp 文件夹,直到我们确定新安装正常运行。
具体检查这些文件,但根据您对 Apache/PHP/MySQL 所做的操作,可能还有其他文件,只有您自己知道。逐个更改这些文件,检查 Apache 和 MySQL 是否在每次更改之间报告错误
https.conf,
\wamp\alias\phpmyadmin.conf,
\wamp\alias\sqlbuddy.conf,
\wamp\alias\webgrind.conf,
如果您使用的是 Apache 2.2.?请确保 Apache 安全性如下所示:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 localhost ::1
加上你可能添加的任何特定 IP,以便你可以从你的网络访问 Apache,例如,
允许来自 192.168.0,将允许来自内部网络上任何地方的任何 IP。
如果您安装了 WAMPServer 2.5,现在是使用新功能的好时机,并告诉 WAMPServer 使用您的编辑器而不是 notepad.exe
编辑 \wamp\wampmanager.conf 并更改参数
editor = "notepad.exe"
包含您选择的编辑器的完整路径。
使用正斜杠而不是 Windows 反斜杠,例如editor = "C:/program files/xxx/myeditor.exe"
Apache 使用的 php.ini(使用 wampmanager -> PHP -> php.ini 来访问它)它实际上存在于\wamp\bin\apache\apachex.y.z\bin\php.ini
但不要直接编辑它,使用 wampmanager 菜单链接
如果您实际使用 PHP CLI 功能,则 PHP CLI 使用的 php.ini(\wamp\bin\php\phpx.y.z\php.ini
直接编辑)
比较新旧版本,记住有些东西可能已经发生了变化,扩展已添加到 php 的核心中,因此不再需要作为扩展等。
你的 my.ini。
事情再次发生变化,参数被弃用,新参数被创建等等。例如,如果您使用的是 INNODB 数据库,则必须激活默认情况下被注释掉的 innodb 参数。您可能需要查看 mysql 网站以获取一些信息,他们为所有版本提供了“如何升级”页面。
如果你要使用 mysql 5.6,你可能需要添加此参数来减少分配给 MySQL 的内存,默认内存分配约为半 GB,这将减少内存分配到更合理的值。你可能需要尝试一下以满足你的系统要求!!!!
table_definition_cache = 600
一旦所有这些都解决了,您就可以考虑将 MySQL 用户和数据库恢复到新版本的 MySQL。
还要记住,如果您使用的是非常老版本的 MySQL,则此恢复过程可能并不完全简单,当您发现新版本的 MySQL 不喜欢您的旧数据时,您应该需要做一些调整。这种情况相当不常见,但可能会发生。再次强调,不要在使用新 WampServer 进行演示前 10 分钟尝试执行此操作。
将您的网站升级到新版本现在您只需将\wamp_old\www\*
文件夹复制到新版本即可\wamp\www\
将您的虚拟主机推进到新版本:
此时,如果您使用虚拟主机,您可以将您的extras\https-vhost.conf
从包含旧版本 Apache 的文件夹转移到包含新版本 Apache 的新文件夹。
请记住,此文件中的说明可能需要针对 Apache 的新版本进行调整。至少,请记住检查前面提到的“Allow from”、“Require”更改,并Include conf/extra/httpd-vhosts.conf
从新的 httpd.conf 文件中取消注释该行。
将旧版本的 Apache、MySQL 和 PHP 从旧的 wamp 带到新的 wamp。
请记住,WAMPServer 的最佳功能之一是能够在 Apache、MySQL 和 PHP 的多个版本之间切换。
所以现在您可以将这些的旧版本带到新的 WampServer 安装中。
Copy ?:\wamp_old\bin\apache to ?:\wamp\bin
Copy ?:\wamp_old\bin\mysql to ?:\wamp\bin
Copy ?:\wamp_old\bin\php to ?:\wamp\bin
这里要记住的一件事是,这可能是你第一次安装了解 Apache 2.4 的 WampServer,并且并非所有 PHP 都能在 Apache 2.4 中运行
主要是因为当它们编译和链接时 Apache 2.4 并不存在,并且 Apache 和 PHP 之间的链接在 Apache 2.4 中发生了变化。
因此,在您所有的 PHP 版本安装中?:\wamp\bin\php\phpx.yz\ 都有一个名为 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'] = '';
?>
此文件告诉 wampmanager PHP 解释器 dll 的名称,与 Apache 的主要版本兼容。当使用 WampManager 菜单在 Apache 和 PHP 版本之间切换时,会用到它。旧版本可能缺少 Apache 2.4 的链接指令,因此您需要添加这一段额外的代码。
但是,只有当该版本的 PHP 在其文件夹中确实有一个名为“php5apache2_4.dll”的文件时,才添加此新部分。如果不存在,并且它们仅存在于 PHP > 5.3.17 或附近的版本中,请不要将此新部分添加到 wampserver.conf
$phpConf['apache']['2.4']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.4']['LoadModuleFile'] = 'php5apache2_4.dll';
$phpConf['apache']['2.4']['AddModule'] = '';
说实话,这里的 1.3 和 2.0 设置也可以删除,因为希望你永远不需要它们。因此,这些更改的最终结果应该让你的 wampserver.conf 看起来像这样:-
<?php
$phpConf['phpIniDir'] = '.';
$phpConf['phpExeDir'] = '.';
$phpConf['phpConfFile'] = 'php.ini';
$phpConf['apache']['2.2']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.2']['LoadModuleFile'] = 'php5apache2_2.dll';
$phpConf['apache']['2.2']['AddModule'] = '';
$phpConf['apache']['2.4']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.4']['LoadModuleFile'] = 'php5apache2_4.dll';
$phpConf['apache']['2.4']['AddModule'] = '';
?>
因此,如果您运行的是 Apache 2.4.x,而某个版本的 PHP 没有 php5apache2_4.dll 文件,则当您使用 WampManager 菜单并查看 PHP -> 版本菜单时,您将在该版本旁边看到一个小的“禁止进入”图标。这是一个可视队列,表示在使用当前运行的 Apache 版本时,您不应切换到此版本的 PHP。当然,您可以将正在运行的 Apache 版本切换到与该版本的 PHP 兼容的版本,可视队列将发生变化,指示哪些版本的 PHP 与新版本的 Apache 不兼容。
但请记住,此机制由每个 PHP 版本独有的 wampserver.conf 文件控制。您不能只将新的 2.4 信息添加到每个文件中,而只能添加到实际带有 php5apache2_4.dll 的版本中。在您问之前,是的,我想,而且只是假设,可能可以重新编译旧版本的 PHP,以便它们都与 Apache 2.4 兼容,但这不太可能发生。旧版本的 PHP 之所以旧是有原因的,您只会在尝试使您的开发系统尽可能与将部署代码的 LIVE 环境相似时考虑使用它们,或者您正在使用一些非常旧的、可能编写得很差的 php 代码。在这种情况下,您几乎肯定也想使用旧版本的 Apache。
如果一切都变得非常糟糕,您就需要返回到之前运行的版本。
我们可以通过执行以下操作恢复到您的原始 wamp 版本:
启动新的 WAMPServer,并删除 MySQL 和 Apache 服务。
wampmanager -> Stop all services
wampmanager -> MySQL -> Service -> Remove service
wampmanager -> Apache -> Service -> Remove service
现在停止 wampmanager。
rightclick wampmanager -> Exit
重命名当前\wamp
文件夹,例如 \wamp_new (或者如果你完全放弃,你可以删除这个文件夹并在另一天从头开始。)将文件夹重命名\wamp_old
为\wamp
启动 wampmanager,桌面上现有的图标应该还可以用,安装 MySQL 和 Apache 服务。
wampmanager -> MySQL -> Service -> Install service
wampmanager -> Apache -> Service -> Install service
您应该回到开始此过程之前的位置。请记住清除浏览器缓存 ( CTRL + F5 ),以确保切换安装后不会发生意外。