本地多站点环境安装Laravel需实现PHP运行时隔离、Web服务器路由分流和应用级环境隔离:各站点配独立域名及public目录映射,.env文件须单独配置APP_URL、DB_DATABASE、APP_KEY等,PHP版本≥8.1并启用必要扩展,Artisan命令须在项目根目录执行并清缓存防污染。

本地多站点环境安装 Laravel,核心是让多个 Laravel 项目能共存于同一台开发机,并各自独立运行、互不干扰。这不只是复制几个文件夹那么简单,关键在PHP 运行时隔离、Web 服务器路由分流和应用级环境隔离三方面。
Web 服务器配置:域名与根目录映射
每个站点必须有唯一域名(如 site-a.test、site-b.test),并指向对应项目的 public/ 目录:
- Nginx:为每个站点单独写一个
server块,server_name设为对应域名,root指向各自项目的public路径 - Apache:启用
vhost,每个<VirtualHost>绑定不同ServerName,DocumentRoot指向对应public - 系统 hosts 文件需添加映射:例如
127.0.0.1 site-a.test site-b.test
.env 文件:每个项目独立配置
每个 Laravel 项目根目录下必须有自己专属的 .env 文件,不能共用:
-
APP_URL必须设为对应域名,如http://site-a.test—— 影响 CSRF token、邮件链接、重定向等行为 -
DB_DATABASE建议为不同库名(如laravel_site_a、laravel_site_b),避免数据库冲突 -
APP_KEY必须各自执行php artisan key:generate生成,不可复制粘贴 - 若使用 Redis/Memcached,建议用不同
database或prefix隔离缓存空间
PHP 与扩展:统一版本,按需启用
多站点共享同一套 PHP 环境,因此只需一次配置:
- 确认 PHP ≥ 8.1(Laravel 10+ 要求),并启用
mbstring、pdo、openssl、tokenizer、xml、ctype、json、intl、bcmath - Mac 用户用 Homebrew 安装时注意
intl默认不启用,需额外执行brew install php@8.2并更新PATH - Windows 用户若用 XAMPP/WAMP,需手动开启
opcache和mbstring扩展,否则php artisan serve会明显卡顿
Artisan 与缓存:避免跨项目污染
Laravel 的命令行工具和缓存机制默认作用于当前项目目录,但容易忽略以下细节:
- 每次切换项目后,先运行
php artisan config:clear和php artisan cache:clear,防止旧配置残留 - 不要在项目外执行 Artisan 命令;确保终端当前路径是目标项目的根目录
- 若使用
php artisan serve启动,务必指定端口(如--port=8001),避免端口占用 -
storage/和bootstrap/cache/目录需对 Web 服务器用户可写(如chmod -R 775 storage bootstrap/cache)


















