阿杰,我给你整理一下 搭建 PHP 开发环境的几种常用方法,包含优缺点、适用场景和示例操作。
一、使用集成环境(推荐初学者/快速开发)
- XAMPP
- 组件:Apache + MySQL/MariaDB + PHP + phpMyAdmin
- 特点:
- 一键安装,无需单独配置 Apache、PHP、MySQL
- 支持 Windows、macOS、Linux
- 安装与使用:
- 下载 XAMPP:https://www.apachefriends.org/
- 安装后启动控制面板
- 启动 Apache 和 MySQL
- 将项目放在
htdocs
目录,访问http://localhost/your_project
- 适用场景:快速开发、学习 PHP、测试小项目
- WampServer(仅 Windows)
- 组件:Apache + MySQL + PHP + phpMyAdmin
- 特点:
- 菜单操作方便,可在不同 PHP 版本间切换
- 官网:https://www.wampserver.com/
- MAMP(Windows / macOS)
- 组件:Apache + MySQL + PHP
- 特点:
- macOS 用户首选
- 免费版即可用于本地开发
- 官网:https://www.mamp.info/
二、手动安装(适合有一定基础的开发者)
- PHP + Apache/Nginx + MySQL 手动安装
- 步骤:
- 安装 PHP
- Windows: PHP 官方下载
- Linux/macOS: 使用包管理器
sudo apt install php
/brew install php
- 安装 Web 服务器(Apache 或 Nginx)
- Apache:
sudo apt install apache2
- Nginx:
sudo apt install nginx
- Apache:
- 配置 Web 服务器使用 PHP 模块
- Apache:
a2enmod php
并修改httpd.conf
- Nginx: 使用
php-fpm
- Apache:
- 安装 MySQL / MariaDB
sudo apt install mysql-server
- 将 PHP 项目放到 Web 服务器指定目录(Apache:
/var/www/html
)
- 安装 PHP
- 优点:
- 灵活,可定制环境
- 适合生产环境部署
- 缺点:
- 配置繁琐,容易出错
- 步骤:
三、使用容器化(Docker)(推荐现代开发 / 团队协作)
- Docker + Docker Compose
- 特点:
- 便于环境一致性和跨平台
- 可同时运行多个不同版本的 PHP/数据库
- 示例
docker-compose.yml
:version: '3.8' services: web: image: php:8.2-apache container_name: php-web volumes: - ./www:/var/www/html ports: - "8080:80" db: image: mysql:8.0 container_name: mysql-db environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: testdb ports: - "3306:3306"
- 使用方法:
docker-compose up -d
- 访问
http://localhost:8080
- 访问
- 适用场景:开发团队、多版本 PHP 支持、云端部署
- 特点:
- Laravel Sail / Lando / Devilbox
- Laravel 官方提供的轻量 Docker 开发环境
- 开箱即用,支持 PHP、MySQL、Redis、Mailhog 等
四、在线开发环境(零配置,适合学习和小项目)
- PHP Fiddle:https://phpfiddle.org/
- Replit:https://replit.com/languages/php_cli
- 优点:
- 无需本地安装
- 快速尝试代码
- 缺点:
- 不适合大项目
- 运行环境有限制
五、总结对比
方法 | 优点 | 缺点 | 适用人群 |
---|---|---|---|
集成环境 XAMPP/MAMP/Wamp | 快速安装,一键启动 | 灵活性低,不适合生产 | 初学者、本地快速开发 |
手动安装 PHP+Apache/Nginx | 灵活,可定制生产环境 | 配置复杂,容易出错 | 有基础的开发者、生产部署 |
Docker | 环境一致,可多版本支持 | 需要学习 Docker,稍复杂 | 团队开发、现代项目 |
在线 IDE | 零配置,随时尝试 | 功能有限,依赖网络 | 学习、实验小项目 |
发表回复