XAMPP 是面向本地开发的 Apache、MariaDB、PHP、Perl 集成环境。它适合学习和本地调试,不建议直接作为生产环境使用。
安装和启动
macOS 下通常安装到:
1 | /Applications/XAMPP |
启动面板:
1 | manager-osx |
启动 Apache、MySQL 后访问:
1 | http://localhost |
如果使用 XAMPP-VM,站点目录和访问方式会和原生安装版不同,要以面板中的挂载目录为准。
常见目录
常见路径:
1 | /Applications/XAMPP/xamppfiles/htdocs |
htdocs 是默认 Web 根目录。把项目放进去以后,通常通过:
1 | http://localhost/project-name |
访问。
PHP 配置
常改配置:
1 | upload_max_filesize = 50M |
改完 php.ini 后重启 Apache。
虚拟主机
如果不想用 /project-name 子目录,可以配置虚拟主机。
示例:
1 | <VirtualHost *:80> |
hosts:
1 | 127.0.0.1 local.example.test |
如果使用框架项目,DocumentRoot 通常应该指向 public。
常见问题
Apache 启动失败
常见原因是 80 或 443 被占用。
1 | lsof -nP -iTCP:80 -sTCP:LISTEN |
可以停止冲突服务,也可以修改 Apache 监听端口。
MySQL 或 MariaDB 启动失败
排查:
- 是否已经有 Homebrew MySQL、MAMP MySQL 在运行。
- 数据目录是否损坏。
- 端口
3306是否被占用。 - 磁盘空间是否不足。
1 | lsof -nP -iTCP:3306 -sTCP:LISTEN |
页面 403
常见原因:
- 目录权限不足。
Directory块缺少Require all granted。- 项目入口目录配置错了。
.htaccess不生效。
.htaccess 不生效
检查:
mod_rewrite是否启用。- 虚拟主机或目录配置里是否允许
AllowOverride All。 .htaccess是否在正确目录。
Composer 使用的不是 XAMPP PHP
检查终端 PHP:
1 | which php |
如果终端 PHP 和 XAMPP PHP 不一致,可以临时指定 XAMPP PHP 跑 Composer。具体 PHP 路径以本机安装版本为准。
安全提醒
XAMPP 默认偏向本地开发便利,不适合直接开放到公网。不要把本地 XAMPP 当生产服务器使用,尤其不要暴露默认数据库和管理入口。