APMServ 配置教程:轻松搭建本地 PHP 开发环境

什么是 APMServ?

APMServ 是一款集成了 Apache、PHP、MySQL、Perl 等多种 Web 服务器软件于一体的绿色软件包,它的主要特点是:

apmserv配置教程
(图片来源网络,侵删)
  • 绿色免安装:无需安装,解压即可使用,不写入系统注册表,方便管理和卸载。
  • 集成度高:将常用的 Web 服务器组件打包在一起,省去了分别下载、安装和配置的繁琐过程。
  • 图形化管理:通过图形界面可以一键启动、停止各个服务,以及修改关键配置参数。
  • 版本齐全:提供了多个版本的组合(如 Apache 2.2 + PHP 5.2 / PHP 5.3 等),方便用户根据项目需求选择。

注意:APMServ 的开发已停止多年,其内置的软件版本(如 PHP 5.2, MySQL 5.1)非常老旧。它不适合用于开发新项目,特别是那些需要使用现代 PHP 框架(如 Laravel, Symfony)或新版本 PHP 的项目。

适用场景

  • 学习或维护非常老旧的 PHP 项目。
  • 快速搭建一个本地环境来运行一些古老的脚本。
  • 在教学环境中,了解早期 Web 服务器的基本配置。

对于新项目,强烈推荐使用 XAMPP, WampServer, 或 Docker 等现代工具。


下载与安装

  1. 下载

    apmserv配置教程
    (图片来源网络,侵删)
    • 访问 APMServ 的官方网站或可靠的软件下载站点(如华军软件园、天空下载等)。
    • 下载最新版本的 APMServ 压缩包,APMServ5.2.6.zip
  2. 安装(解压)

    • 在您的计算机上选择一个合适的路径,建议不要使用中文路径或包含空格的路径,D:\APMServ
    • 将下载的 APMServ5.2.6.zip 文件解压到您选择的路径中,解压后,您会看到一个包含 Apache, MySQL, PHP, FileZillaFTP 等文件夹以及 APMServ.exe, Start.exe 等可执行文件的目录。

启动与停止服务

  1. 启动主控制面板

    • 进入 APMServ 的解压目录,双击运行 APMServ.exe
    • 首次运行时,可能会弹出防火墙警告,选择“允许访问”或“解除阻止”。
  2. 启动服务

    • 在主控制面板中,您可以看到各个服务的状态(停止中 / 运行中)。
    • 点击 “启动” 按钮,APMServ 会依次启动 Apache、MySQL、FileZilla FTP 等服务。
    • 等待几秒钟,当所有服务的状态都变为 “运行中” 时,表示服务器环境已成功启动。
  3. 停止服务

    • 当您不再需要服务器时,可以点击 “停止” 按钮来安全地关闭所有服务。
    • 也可以选择 “退出”,这会同时停止服务并关闭程序。

核心配置

最核心的配置是修改网站的根目录(即您的 PHP 项目文件存放的位置)。

  1. 打开配置文件

    • 在 APMServ 主面板中,找到 “配置” 菜单。
    • 选择 “配置 Apache” -> “httpd.conf”,这会用记事本打开 Apache 的主配置文件。
  2. 修改网站根目录

    • httpd.conf 文件中,按 Ctrl + F 搜索 DocumentRoot
    • 您会找到类似下面这样的两行代码:
      DocumentRoot "D:/APMServ/www"
      <Directory "D:/APMServ/www">
    • "D:/APMServ/www" 修改为您自己的项目路径,"D:/MyProjects"
      DocumentRoot "D:/MyProjects"
      <Directory "D:/MyProjects">
    • 重要提示:请确保您修改后的路径是真实存在的,APMServ 程序对该路径有读写权限
  3. 配置虚拟主机(可选,但推荐): 如果您想在本地运行多个不同的项目,并为每个项目设置一个独立的域名(如 project1.local, project2.local),可以配置虚拟主机。

    • httpd.conf 文件中,找到 VirtualHosts 相关配置部分。
    • 去掉下面配置块的注释(删除 ),并根据您的需求进行修改:
      # NameVirtualHost *:80  # 确保这行已取消注释

    <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "D:/MyProjects/project1" # 项目1的路径 ServerName project1.local # 项目1的域名 ErrorLog "logs/project1.local-error_log" CustomLog "logs/project1.local-access_log" common

    <VirtualHost *:80> DocumentRoot "D:/MyProjects/project2" # 项目2的路径 ServerName project2.local # 项目2的域名

    ``` * **配置 Hosts 文件**:为了让您的电脑能识别 `project1.local` 这个域名,需要修改 `hosts` 文件。 * 在 Windows 中,找到 `C:\Windows\System32\drivers\etc\hosts` 文件。 * 用记事本(最好以管理员身份运行)打开它,在文件末尾添加: ``` 127.0.0.1 project1.local 127.0.0.1 project2.local ``` * 完成后,重启 Apache 服务(在 APMServ 面板中先停止,再启动)。

访问网站

  1. 默认网站

    • 将您的 PHP 文件(index.php)放到您在 httpd.conf 中设置的根目录下(如 D:/MyProjects)。
    • 打开浏览器,访问 http://localhosthttp://127.0.0.1
    • 如果能看到您的 index.php 的内容,说明配置成功。
  2. 虚拟主机网站

    • 访问您在虚拟主机中配置的域名,http://project1.local

常用工具与功能

  1. MySQL 数据库管理

    • 在 APMServ 面板中,点击 “管理” 菜单。
    • 选择 “管理 MySQL” -> “phpMyAdmin”
    • 这会打开一个 phpMyAdmin 页面,您可以在其中创建数据库、数据表,执行 SQL 语句等。
    • 默认登录信息:用户名 root,密码为空(如果设置了密码,请输入您设置的密码)。
  2. 服务端口修改

    • 如果您的电脑上 80 端口被其他程序(如 IIS、其他 Web 服务器)占用,APMServ 无法启动。
    • 在 APMServ 面板中,点击 “配置” -> “端口配置”
    • 您可以修改 Apache 的 HTTP 端口(默认 80)和 HTTPS 端口(默认 443),MySQL 的端口(默认 3306)等。
    • 修改后,访问网站时需要加上端口号,http://localhost:8080

常见问题与解决

  1. 问题:启动 APMServ 时提示“80 端口被占用”

    • 原因:IIS、Skype、迅雷等软件可能占用了 80 端口。
    • 解决
      • 方法一(推荐):在 APMServ 面板中修改端口(如上述“常用工具”部分)。
      • 方法二:关闭占用 80 端口的程序,可以在命令提示符(CMD)中运行 netstat -ano 查找占用端口的进程 ID (PID),然后在任务管理器中结束该进程。
  2. 问题:浏览器访问 localhost 显示 403 Forbidden 错误

    • 原因:通常是网站根目录的权限问题,或者 httpd.conf<Directory> 配置块的权限设置不正确。
    • 解决
      1. 检查 DocumentRoot 指向的文件夹是否存在。
      2. 右键点击该文件夹,选择“属性” -> “安全”,确保您的用户账户有“读取和执行”、“列出文件夹内容”、“读取”等权限。
      3. 检查 httpd.conf 中的 <Directory "你的路径"> 块,确保 OptionsAllowOverride 等指令设置正确。
  3. 问题:PHP 文件被下载而不是执行

    • 原因:Apache 没有正确地将 .php 文件交给 PHP 模块处理。
    • 解决:检查 httpd.conf 中关于 PHP 模块的 LoadModuleAddHandler 指令是否被正确加载和配置,APMServ 默认配置应该是正确的,如果被修改过,需要恢复。

APMServ 作为一款经典的本地服务器环境搭建工具,其“一站式”和“绿色”的特点在特定时期非常受欢迎,通过本教程,您应该能够成功地在自己的电脑上配置并运行 APMServ。

再次提醒,由于版本老旧,请仅将其用于维护旧项目或学习目的,对于任何新的开发工作,请选择现代化的、仍在积极维护的解决方案,如 XAMPPDocker