本地开发环境搭建:PHP 8 + MySQL 从零配置

环境配置 2026-08-06 5 浏览

学 PHP 第一步不是写代码,是先把环境跑起来。环境装不好,后面每一步都在跟报错纠缠。这里把 Windows 上搭 PHP + MySQL 的三种常用方案讲清楚,按自己的情况选一种就行。

方案一:集成环境(最省事)

PHPStudy、XAMPP 这类集成包把 Apache/Nginx、PHP、MySQL 打包在一起,一键启动。适合刚起步的阶段:点一下图标,环境就绪,专心写代码。

缺点是版本更新慢、目录结构和自己装的服务器不一样,上线前最好在服务器上再验证一遍。

方案二:Docker(接近生产)

用 Docker 起 PHP + MySQL 两个容器,目录结构和线上基本一致。项目根目录放一个 docker-compose.yml

services:
  web:
    image: php:8.2-apache
    ports:
      - "8080:80"
    volumes:
      - .:/var/www/html
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: root

然后 docker compose up -d 就起来了。适合项目已经有一定规模、需要和团队保持一致的时候。

方案三:手动安装(了解原理)

官方下载 PHP(Windows 版解压即可用)和 MySQL,手动配置。麻烦,但能彻底搞懂每部分是什么。不建议新手一上来走这条路。

数据库连不上的常见原因

环境起来了,程序报"Connection refused"或者"Access denied",按这个顺序查:

  • MySQL 服务有没有启动(集成环境里看图标状态);
  • 端口对不对:默认 3306,被占用时可能被改成别的;
  • 用户名密码对不对:root 的密码是安装时自己设的,不是默认的 root;
  • PHP 连 MySQL 用的是 PDO 还是 mysqli,代码里对应写对:
<?php
$pdo = new PDO("mysql:host=127.0.0.1;dbname=test;charset=utf8mb4", "root", "你的密码");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";

这段代码能跑通,说明环境没问题,后面写代码遇到问题就不是环境的锅了。

最后提醒一句:本地环境永远别用生产数据练手,数据库密码也别图省事全设成 root。真出了事,恢复数据的成本远高于设个强密码的时间。