我的 C: 驱动器中安装了 Wamp Server 2.4。我想在我的 D: 驱动器中有一个 Wamp Server 2.5。由于某种原因,我无法在 C: 中停止 Wamp Server。但同时我想使用 2.5 版本。
1) 可以同时使用吗?如果是,需要做的额外工作是什么?
如果不是,我可以至少将 2.4 版本更新到 2.5 而不影响现有的项目文件和数据库。
切勿在现有安装上安装新版本的 WAMPServer
您可以将 WAMPServer 安装到任何磁盘驱动器(C:、D: 等)上。
但是,您不能在 2 个不同的驱动器上进行 2 个单独的安装,因为服务(Apache/MySQL)将被第二个安装覆盖,即使它在一个单独的驱动器上!!!因此,您实际上将运行第二次安装而不是第一次安装。最好将它安装在您选择的磁盘的根目录中,即X:\wamp
不要将它安装到 Program Files 中,它会安装在那里,但它增加了不必要的目录复杂性,并且可能会导致问题,因为该目录名中有一个空格。请记住,Apache/PHP/MySQL 是从 Unix 移植的,Unix 不喜欢目录或文件名中的空格。
从 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 个软件的发布数量,它可能需要更长的时间。
那些自认为是专家的人的总结过程
\wamp folder为\wamp_old(这是您的备份。不要忘记这一步)出于所有意图和目的,您现在已经卸载了 WAMPServer。
下载安装新的WAMPServer版本(推荐32位,64位仅供极客使用,64位PHP尚未完全转换为64位)
什么都不改变!检查它是否在开箱即用状态下工作。
清除浏览器缓存 ( CTRL+F5 ) 以避免与缓存内容有关的任何有趣内容。
运行本地主机
运行 phpMyAdmin(如果要求输入用户名和密码;用户名 = root / 密码 =(没有,留空)
(请记住,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 上有一个菜单选项可以执行此操作,那么安装将被删除,而不会实际删除文件。
首先以 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。
检查系统托盘中的 wampmanager 图标是否变为绿色。
运行: wampmanager -> localhost (清除浏览器缓存 CTRL+F5 以避免任何有趣的事情)
单击此页面上的 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 )以确保切换安装后不会发生有趣的事情。
| 归档时间: |
|
| 查看次数: |
7503 次 |
| 最近记录: |