WAMP是一个流行的软件栈,用于在Windows系统上开发PHP web应用程序。WAMP是Windows、Apache、MySQL和PHP的缩写,它提供了设置本地web服务器所需的所有组件。Apache用于处理HTTP请求,MySQL管理数据库,PHP作为编程语言。使用WAMP的好处在于它的便利性,因为它预先打包了所有这些组件,为开发人员节省了时间。
您可以从其官方网站下载WAMP,然后在安装后,可以在本地完成PHP脚本的测试,而无需连接互联网。
安装过程中,需要的VC版本安装,可查看下面的页面说明:
Wampserver – Installers, Updates, Addons, Tools
也可以在本页附件下载最全的VC安装包 (Microsoft Visual C++ 安装包)
最新版本新增了 PHP 8.1.33, 8.2.29, 8.3.23, 8.4.10 – xDebug 3.4.4 – MariaDB 11.8.2 – Tray Menu Manager 3.2.7.1
安装的说明:
任务栏中的 Wampmanager 图标必须为绿色。—如果图标不是绿色,则不要指望一切正常,因为这意味着 Apache/MySQL 服务中的一个尚未启动。
阅读本文档的全部内容,不要在遇到问题时就止步。
—为了确保您处理的是正确的文件,必须能够“看到”隐藏文件和所有扩展名。为此,启动资源管理器->工具->文件夹选项->查看并检查:(选中显示文件、文件夹和隐藏驱动器-取消选中隐藏已知文件类型的扩展名)
01 – 如果您尝试将现有版本的 WAMPServer 升级到较新版本或最新版本- – 您是否关注了此帖子安装新版本的 Wampserver,如果没有,安装最新版!
02 – 您必须以管理员身份安装 WAMPServer(这是绝对必须的)- – 右键单击安装 *.exe 文件,然后从菜单中选择“以管理员身份运行”。- 强烈建议将 Wampserver 安装在分区的根目录(C:\Wamp、D:\Wamp 等),并且不要使用带有空格或变音字符的安装文件夹名称。所以不要安装在“Program Files”中。
03 – 您是否安装或正在运行 Skype?- – 如果是这样,必须将 Skype 配置更改为不使用端口 80 或 443。- – 通过启动 SKYPE 并使用菜单执行此操作 – 工具 -> 选项 -> 高级设置 -> 连接:- – 取消选中“使用端口 80 和 443 作为备用”。- Windows 8/8.1/10 平铺应用程序版本的 SKYPE 可能不允许您更改此设置,因此请卸载平铺应用程序并从下载中安装 SKYPE,它将以相同的方式工作,但它也允许您进行上述配置更改。
04 – 如果 Wampserver 图标不是绿色,则表示至少有一项服务未启动。注意:从 Wampserver 3.0.7 开始,有三种服务(apache、mysql 和 mariadb),不再只有两种(apache 和 mysql)
它们分别是:32 位版本的 wampapache、wampmysqld 和 wampmariadb;64 位版本的 wampapache64、wampmysqld64 和 wampmariadb64。
哪些服务未启动?
– 要从服务管理器检查:单击“开始”、“运行”,然后输入services.msc或“管理工具”->“服务”,并检查 wampapache、wampmysqld 和 wampmariadb 服务的状态(或使用 Wampserver 2.5 64 位的 wampapache64、wampmysqld64 和 wampmariadb64)。
即使 Wampmanager 图标不是绿色,也有一个集成工具可以检查服务状态:
右键单击 Wampmanager 图标 ->“工具”->“检查服务状态”
05 – 始终使用服务管理器检查除了 wampapache(64) 和 wampmysqld(64) 之外没有其他 Apache 或 MySQL 服务
06 – 您的系统中是否有其他未包含在 wamp 树中的“php.ini”文件?如果有,请删除它们。
07 – 您的系统中是否有其他未包含在 wamp 树中的“my.ini”文件?如果有,请删除它们。
08 – 您是否安装了 IIS?
控制面板-> 程序和功能->打开或关闭 Windows 功能
(W7/W8/W10) 取消选中:
— 主 Web Internet 服务实例 (IIS)–分支的所有项目:Internet 服务 (IIS)–分支的所有项目:激活 Windows 服务进程
(W10/W11) 取消选中:
— Internet 信息服务主 Web 实例 (IIS)–分支的所有项目:Internet 信息服务
09 – 在文件“Windows\System32\drivers\etc\hosts”中,您必须激活以下行,也就是说,这些行不能以 # 注释符号开头。某些恶意软件工具会在 HOSTS 文件中放置大量恶意网站,以阻止您访问它们。可以保留这些内容在 hosts 文件中,但请确保以下条目也包含在内。
127.0.0.1 本地主机
并且只存在一次。
仅当您的系统和网络支持 IPv6 时,您才可以添加第二行:
127.0.0.1 本地主机 ::1 本地主机
注意:默认情况下,hosts 文件具有系统属性:隐藏、只读。因此,在编辑之前,请务必移除这些属性。此外,某些 AV/防火墙应用程序也会为 hosts 文件添加保护。您可能需要检查是否正在使用其中一种保护措施,以便在修改文件时允许访问该文件。
注意:IPv6 支持
要查看您的系统是否支持 IPv6,请打开命令窗口并在其中运行ping
测试 IPv4。
C:\Windows\System32>ping 127.0.0.1 使用 32 字节数据对 127.0.0.1 进行 ping 操作: 来自 127.0.0.1 的回复:字节=32 时间<1ms TTL=128 来自 127.0.0.1 的回复:字节=32 时间<1ms TTL=128 来自 127.0.0.1 的回复:字节=32 时间<1ms TTL=128 来自 127.0.0.1 的回复:字节=32 时间<1ms TTL=128 127.0.0.1 的 Ping 统计信息: 数据包:已发送 = 4,已接收 = 4,丢失 = 0(丢失率为 0%), 大约往返时间(毫秒): 最小值 = 0 毫秒,最大值 = 0 毫秒,平均值 = 0 毫秒
可以看到,四条测试 127.0.0.1 都已收到,没有任何丢失。IPv6
测试
C:\Windows\System32>ping ::1 使用 32 字节数据对 ::1 进行 Ping: 来自 ::1: 的回复:时间<1ms 来自 ::1: 的回复:时间<1ms 来自 ::1: 的回复:时间<1ms 来自 ::1: 的回复:时间<1ms ::1 的 Ping 统计信息: 数据包:已发送 = 4,已接收 = 4,丢失 = 0(丢失率为 0%), 大约往返时间(毫秒): 最小值 = 0 毫秒,最大值 = 0 毫秒,平均值 = 0 毫秒
我们可以看到四次测试全部收到,没有任何丢失,所以系统支持IPv6。
如果您的系统或连接(WiFi,Internet等)不支持IPv6或者您不确定,请在所有网络连接的属性中禁用Internet协议版本6(TCP / IPv6)
。 – 10 – 确保您的防病毒或保护系统不会阻止访问:
— 文件 Windows\System32\drivers\etc\hosts
– – wamp\Wampmanager.exe
– – wamp\bin\apache\apache2.2.x\bin\httpd.exe
– – wamp\bin\mysql\mysql5.xy\bin\mysql.exe
– – wamp\bin\mysql\mysql5.xy\bin\mysqlcheck.exe
– – wamp\bin\mysql\mysql5.xy\bin\mysqld.exe
– – wamp\bin\php\php5.3.x\php.exe
– 10a – 从 Windows Defender 病毒/威胁扫描中排除文件或文件夹
– 开始菜单,Windows 安全
– 防范病毒和威胁
– 管理参数
– 排除,添加或删除排除
– 添加排除
– 您可以添加 hosts 文件和 Wampserver 安装文件夹。
11 – 任何其他服务器安装(EasyPHP、XAMPP、IIS 或其他)与 Wampserver 不兼容,必须在安装 WAMPServer 之前完全卸载。
12 – MySQL 或 Apache 日志文件中是否有任何错误?(日志文件位于 /wamp/logs/ 文件夹中)
13 – Windows 事件查看器中是否有任何错误?
14 – 确保您的防火墙和防病毒保护允许(而不是禁止)对端口 80 和 3306 的访问
15 – 如果您之前卸载了 Wampserver,请在安装新版本之前验证是否已删除 wampapache(64) 和 wampmysqld(64) 服务?
16 –仅当您拥有 Windows 64 位操作系统时才安装 64 位 Wampserver ,在这种情况下,请始终使用最新版本的 WampServer。–
64 位 Apache、PHP 和 MySQL 以及所有扩展和模块必须始终以 64 位线程安全方式编译。-
17 –不再使用
18 – 不再使用
19– PhpMyAdmin 。安装 Wampserver 或新版本的 MySQL 或 MariaDB 后,将使用“root”用户连接到 PhpMyAdmin,无需密码,即使用空的密码框。- 19-a– Adminer。Adminer 不接受没有密码的连接。安装 Wampserver 或新版本的 MySQL 或 MariaDB 后,唯一的用户是“root”,无需密码。要连接到 Adminer,您必须先为 root 用户设置密码。您可以
通过以下方式完成:- 或者连接到 PhpMyAdmin,在“用户帐户”选项卡中,选择“root”,编辑权限,更改密码。-
连接到 MySQL 或 MariaDB 控制台,具体取决于默认使用的数据库管理器和以下命令:
# MySQL 8 之前 # `root`@`127.0.0.1` 的权限 授予 'root'@'127.0.0.1' 对 *.* 的所有权限,由 'password' 标识,附带授予选项; # `root`@`::1` 的权限 授予'root'@'::1' 的所有权限 *.* 至 'password' 标识,附带授予选项; # `root`@`localhost` 的权限 授予“root”@“localhost”对*.*的所有权限,以“password”标识,并附带授予选项; 授予 ''@'' 上的代理权给 'root'@'localhost',并提供授予选项;
# MySQL 8 - `root` 权限 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password' 密码永不过期; 更改用户'root'@'localhost'默认角色全部; 授予 'root'@'localhost' 对 *.* 的所有权限,并附带授予选项; 授予 ''@'' 上的代理权给 'root'@'localhost',并提供授予选项; 如果不存在则创建用户'root'@'127.0.0.1'通过'password'使用mysql_native_password进行识别密码永不过期; 如果存在“root”@“127.0.0.1”则更改用户默认角色全部; 授予 'root'@'127.0.0.1' 对 *.* 的所有权限以及授予选项; 如果不存在则创建用户'root'@'::1'通过'password'使用mysql_native_password进行识别密码永不过期; 如果存在“root”@“::1”则更改用户默认角色全部; 授予 'root'@'::1' 对 *.* 的所有权限以及授予选项;
– 19-b – 通过控制台添加 MySQL(或 MariaDB)用户:
# MySQL 8 之前 # `username`@`127.0.0.1` 的使用权限 GRANT USAGE ON *.* TO '用户名'@'127.0.0.1' IDENTIFIED BY '明文密码'; # `username`@`localhost` 的使用权限 授予'用户名'@'localhost' 使用权,IDENTIFIED BY'明文密码'; # `username`@`::1` 的使用权限 授予'用户名'@'::1' 使用*.*的权限,IDENTIFIED BY'明文密码'; # 数据库的最终权限 授予“mabase”上的 SELECT、INSERT、UPDATE、DELETE 权限。* TO 'username'@'127.0.0.1'; 授予“mabase”上的 SELECT、INSERT、UPDATE、DELETE 权限。* TO 'username'@'localhost'; 授予“mabase”上的 SELECT、INSERT、UPDATE、DELETE 权限。* TO 'username'@'::1';
# MySQL 8 # `username` 的使用权限 创建用户“用户名”@“localhost”,使用“mysql_native_password”通过“纯文本密码”进行标识,无需密码过期默认帐户解锁; 授予'用户名'@'localhost' 对 *.* 的使用权; 创建用户“用户名”@“127.0.0.1”,使用“mysql_native_password”通过“明文密码”进行标识,无需密码过期默认帐户解锁; 授予'用户名'@'127.0.0.1' 对 *.* 的使用权; 创建用户'用户名'@'::1',使用'mysql_native_password'通过'纯文本密码'进行标识,无需密码过期默认帐户解锁; 授予'用户名'@'::1' 对 *.* 的使用权; # 数据库的最终权限 授予“mabase”上的 SELECT、INSERT、UPDATE、DELETE 权限。* TO 'username'@'127.0.0.1'; 授予“mabase”上的 SELECT、INSERT、UPDATE、DELETE 权限。* TO 'username'@'localhost'; 授予“mabase”上的 SELECT、INSERT、UPDATE、DELETE 权限。* TO 'username'@'::1';
– 20 – 启动 Wampserver 时出现系统错误“托盘菜单 Aestan 遇到问题需要关闭”
或者有时在 localhost 和/或 PhpMyAdmin 中显示白页(未加载页面)
这可能是因为您在安装 WampServer 之前没有“更新”可再发行组件包 VC9、VC10 和 VC11,导致安装不正确,即使更新也无法解决您的问题。因此,我们必须卸载 Wampserver,并确认 wampmysqld 和 wampapache 服务(64 位 Wampserver 需要 wampmysqld64 和 wampmyapache64)已不存在 – 如有必要,请删除它们,请参阅注释 1。
重新启动计算机并安装 Wampserver。- 20-b – 确认所有 VC++ 组件均已安装并处于最新版本
。为此,请使用以下工具:检查已安装的 VC++ 软件包您将在 [ wampserver.aviatechno.net ] 的 Visual C++ Redistributable Packages 部分找到所有软件包请不要忘记,如果您使用的是 64 位 Windows,则必须安装每个软件包的 32 位和 64 位版本。您必须“以管理员身份”安装每个软件包,因此请右键单击 exe 文件,然后以管理员身份运行。
– 21 – MYSQL 昨天可以正常工作,但今天我看到一个橙色的 wampmanager 图标,MYSQL 无法启动。- 这尤其适用于您使用 INNODB 数据库而不是 MYISAM 数据库的情况。- 检查 MySQL 日志,位于“/wamp/logs/”中 如果您在日志中看到消息说 MySQL 已尝试恢复数据库或数据库表并且由于某种原因失败,那么很可能是您的数据库已损坏,并且 MYSQL 无法启动,因为它无法恢复数据库。- 最简单的解决方案是恢复您的上一个备份。假设您有备份,当然有,因为您并不笨! – 如果您犯了没有备份的错误,则应检查 MYSQL 日志中的消息,因为它们建议了可能的恢复机制,或者,阅读InnoDB 备份和恢复– 为了减少发生这种情况的可能性,请确保通过使用 wampmanager 菜单上的“退出”关闭 WAMPServer – – 右键单击 wampmanager -> 退出- 或使用以下方法停止 MYSQL 服务- – 左键单击 wampmanager ->在重新启动或关闭 Windows 之前停止所有服务
21-a为什么需要在关闭 Windows 之前关闭 Wampserver? Wampserver 的“正常”关闭执行以下操作:- 停止 Apache 服务- 停止 MySQL 服务- 停止 mariaDB 服务当服务“正常”停止时会发生什么?
访问以下资源了解更多信息:
Free Resources
official