同时运行安装在不同驱动器中的两个 wamp 服务器

1 php wamp

我的 C: 驱动器中安装了 Wamp Server 2.4。我想在我的 D: 驱动器中有一个 Wamp Server 2.5。由于某种原因,我无法在 C: 中停止 Wamp Server。但同时我想使用 2.5 版本。

1) 可以同时使用吗?如果是,需要做的额外工作是什么?

如果不是,我可以至少将 2.4 版本更新到 2.5 而不影响现有的项目文件和数据库。

Rig*_*lly 5

安装新版本的 WAMPServer

切勿在现有安装上安装新版本的 WAMPServer

您可以将 WAMPServer 安装到任何磁盘驱动器(C:、D: 等)上。

但是,您不能在 2 个不同的驱动器上进行 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 个软件的发布数量,它可能需要更长的时间。

那些自认为是专家的人的总结过程

  1. 以 SQL 格式备份所有数据库并将备份存储在安全的地方。
  2. 停止所有服务。
  3. 删除 Apache 服务。
  4. 删除 MySQL 服务。
  5. 退出 WAMPServer。
  6. 将您的当前重命名\wamp folder\wamp_old(这是您的备份。不要忘记这一步)

出于所有意图和目的,您现在已经卸载了 WAMPServer。

  1. 下载安装新的WAMPServer版本(推荐32位,64位仅供极客使用,64位PHP尚未完全转换为64位)

  2. 什么都不改变!检查它是否在开箱即用状态下工作。

清除浏览器缓存 ( CTRL+F5 ) 以避免与缓存内容有关的任何有趣内容。

运行本地主机

运行 phpMyAdmin(如果要求输入用户名和密码;用户名 = root / 密码 =(没有,留空)

  1. 如果您想将部分/所有旧版本的 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

  1. 要告诉 WAMPServer 您刚刚复制的旧版本 Apache/PHP/MySQL,请运行“刷新”,

    右键单击 wampmanager 图标 -> 刷新

给它几秒钟的时间来查找所有新版本。

  1. 将旧配置与新配置进行比较,移过任何本地更改/要求。

请记住,配置参数在 Apache/PHP/MySQL 版本之间会发生变化!确保您的旧更改仍然是必需的、有效的、合法的。(查看所有 3 个软件提供商提供的升级说明)

  1. 如果这一切都发生了可怕的错误。如果遇到问题,请查看此文档的底部,了解如何轻松解除所有这些更改。

包含有用信息和有用注释的完整说明。

这整个过程基于这样一个事实,即 WAMPServer 安装基本上只是将文件复制到您的磁盘上,并进行一些文件裁剪,因此它知道您将其安装到哪个磁盘上。链接到您安装它的文件夹的唯一内容是创建 2 个 Windows 服务“wampapache”和“wampmysql”。因此,如果我们删除它们,并且在 wampmanager 上有一个菜单选项可以执行此操作,那么安装将被删除,而不会实际删除文件。

首先以 Format=SQL 备份您的所有数据库,这是您的数据库,而不是 MySQL 附带的数据库。将备份保存在安全且随时可用的地方。

可以使用 MySQL 实用程序来升级数据库,但从长远来看,在旧版本上进行备份并在新版本上进行恢复要简单得多。

MySQL 的数据库是 'mysql','information_schema' 和 'performance_schema' 不备份这些,除非你知道你在做什么并且你知道你需要它们。

此外,除非您将其用于想要保留的内容,否则您不需要名为“test”的数据库。

如果您的数据库是中小型数据库,您可以使用 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 服务。所以让我们删除这两个服务。

启动 WampServer

wampmanager -> Stop all Services
wampmanager -> MySQL -> Service -> Remove service
wampmanager -> Apache -> Service -> Remove service
Run Code Online (Sandbox Code Playgroud)

现在停止 wampmanager。

rightclick wampmanager -> Exit
Run Code Online (Sandbox Code Playgroud)

重命名您现有的 wamp 文件夹,例如“wamp_old”。这是你的备份!不要忘记这一步。它还确保您将新版本的 WAMPServer 安装到新\wamp文件夹中。

现在您可以安装新版本的 WAMP Server,让我们开始吧。

下载并安装新的WAMPServer,您可以安装到任何驱动器C;、D; 乙; 等,将其安装到驱动器的根目录中,即C:\wamp,但不要安装到C:\Program Files\其中,但不要安装。

通过以下方式检查您的新安装是否有效:

如果您没有在安装后自动启动 WAMP,则启动 WAMP。

  1. 检查系统托盘中的 wampmanager 图标是否变为绿色。

  2. 运行: wampmanager -> localhost (清除浏览器缓存 CTRL+F5 以避免任何有趣的事情)

  3. 单击此页面上的 phpMyAdmin 链接,并检查它是否也有效。WampServer 2.4 带有不同的 phpmyadmin 配置,因此它最初会加载到登录页面。请记住,在新安装时,用户名 = root,密码为空白。

如果您遇到任何问题,请记住这个新安装没有您可能对以前的版本所做的任何配置定制。所以现在是时候将您的旧配置与新配置进行比较,并从旧配置中获取您在新安装中再次需要的任何内容。

还请记住,您正在升级 Apache、MySQL 和 PHP,并且所有这三个的参数可能已更改/添加到/或已删除!!!!所以不要只是将它们从旧的 wamp 复制到新的。有龙!!!

这也是我们不删除旧 wamp 文件夹的原因,直到我们确定新安装工作正常。

具体检查这些文件,但根据您对 Apache/PHP/MySQL 所做的操作,可能还有其他文件,只有您自己知道。对这些文件进行一点一点的更改,检查 Apache 和 MySQL 是否不报告每次更改之间的错误

https.conf,
\wamp\alias\phpmyadmin.conf,
\wamp\alias\sqlbuddy.conf,
\wamp\alias\webgrind.conf,
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 Apache 2.2。?确保 Apache 安全性如下所示:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1 localhost ::1
Run Code Online (Sandbox Code Playgroud)

加上您可能已添加的任何特定 ip,以便您可以从您的网络访问 Apache,例如,

允许来自 192.168.0,将允许来自内部网络任何地方的任何 ip。

如果您安装了 WAMPServer 2.5 现在是使用其中一项新功能并告诉 WAMPServer 使用您的编辑器而不是 notepad.exe 的好时机

编辑 \wamp\wampmanager.conf 并更改参数

editor = "notepad.exe" 
Run Code Online (Sandbox Code Playgroud)

包含您选择的编辑器的完整路径。

使用正斜杠而不是 windows 反斜杠,例如 editor = "C:/program files/xxx/myeditor.exe"

您的 php.ini 被 Apache 使用(使用 wampmanager -> PHP -> php.ini 来访问它)它实际上存在于其中,\wamp\bin\apache\apachex.y.z\bin\php.ini但不要直接使用 wampmanager 菜单链接对其进行编辑

如果您实际使用 PHP CLI 功能(\wamp\bin\php\phpx.y.z\php.ini直接编辑),则 PHP CLI 使用的 php.ini

比较你的新旧版本,记住事情可能已经改变,扩展添加到 php 的核心中,因此不再需要作为扩展等。

你的 my.ini。

事情再次发生变化,参数被弃用,新的​​参数被创建等等。例如,如果您使用的是 INNODB 数据库,您将必须激活默认情况下被注释掉的 innodb 参数。您可能需要查看 mysql 网站以获取一些信息,他们为所有版本提供了如何升级页面。

如果您打算使用 mysql 5.6,您可能需要添加此参数以减少分配给我的 MySQL 的内存,默认情况下往往会分配大约一半的内存,这会将其减少到更合理的程度。您可能必须使用它来满足您的系统要求!!!!

table_definition_cache = 600
Run Code Online (Sandbox Code Playgroud)

一旦这一切都解决了,您可以考虑将您的 MySQL 用户和数据库恢复到新版本的 MySQL。

还请记住,如果您来自一个非常旧的 MySQL 版本,这个恢复过程可能不是完全直接的,当您发现新版本的 MySQL 不喜欢您的旧数据时,您应该期望必须做一些事情. 这是相当不寻常的,但可能会发生。再次不要在必须使用新的 WampServer 进行演示之前 10 分钟尝试这样做。

将您的网站升级到新版本 现在您只需将\wamp_old\www\*文件夹复制到新版本\wamp\www\

将您的虚拟主机带到新版本:

此时,如果您使用虚拟主机,则可以将extras\https-vhost.conf包含旧版本 Apache 的文件夹转移到包含新版本 Apache 的新文件夹中。

请记住,此文件中的说明可能需要根据 Apache 的新版本进行调整。至少,请记住检查前面提到的“允许来自”、“要求”更改,并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
Run Code Online (Sandbox Code Playgroud)

这里要记住的一件事是,这可能是您第一次安装 WampServer,它对 Apache 2.4 一无所知,并非所有 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'] =  '';

?>
Run Code Online (Sandbox Code Playgroud)

这个文件告诉 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'] =  '';
Run Code Online (Sandbox Code Playgroud)

老实说,这里的 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'] =  '';

?>
Run Code Online (Sandbox Code Playgroud)

因此,如果您运行的是 Apache 2.4.x 并且某个版本的 PHP 没有 php5apache2_4.dll 文件,那么当您使用 WampManager 菜单并查看 PHP -> 版本菜单时,您会在该版本旁边看到一个小图标. 这是一个可视化队列,您在使用当前运行的 Apache 版本时不应切换到该版本的 PHP。当然,您可以将正在运行的 Apache 版本切换到与该版本的 PHP 兼容的版本,并且可视化队列将发生变化,指示哪些版本的 PHP 与新版本的 Apache 不兼容。

但请记住,此机制由 wampserver.conf 文件控制,该文件对于每个 PHP 版本都是唯一的。您不能只将新的 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
Run Code Online (Sandbox Code Playgroud)

现在停止 wampmanager。

rightclick wampmanager -> Exit
Run Code Online (Sandbox Code Playgroud)

重命名当前\wamp文件夹,例如。\wamp_new (或者如果你完全放弃,你可以删除这个并改天从头开始。)将\wamp_old文件夹重命名为\wamp

启动 wampmanager,桌面上现有的图标应该仍然有效,并安装 MySQL 和 Apache 服务。

wampmanager -> MySQL -> Service -> Install service
wampmanager -> Apache -> Service -> Install service
Run Code Online (Sandbox Code Playgroud)

在开始此过程之前,您应该回到原来的位置。请记住清除浏览器缓存( CTRL + F5 )以确保切换安装后不会发生有趣的事情。