Laravel 本地部署需满足五项核心条件:一、PHP≥8.1并启用OpenSSL等8个扩展;二、全局安装Composer并配置Packagist源;三、通过artisan serve或XAMPP/Nginx启动Web服务;四、生成APP_KEY并正确配置.env;五、配置MySQL连接并执行migrate。

如果您在本地计算机上尝试运行 Laravel 应用,但页面无法加载或报错,则可能是由于 PHP 环境未满足 Laravel 的最低运行要求。以下是完成 Laravel 本地部署所需的具体配置条件与对应操作步骤:
一、确认 PHP 版本与扩展支持
Laravel 当前稳定版本(如 Laravel 10.x)要求 PHP 版本不低于 8.1,并需启用 OpenSSL、PDO、Mbstring、Tokenizer、XML、Ctype、JSON、BCMath 等核心扩展。缺少任一扩展将导致 Composer 安装失败或框架启动异常。
1、在终端执行 php -v 查看当前 PHP 版本,若低于 8.1 需升级。
2、执行 php -m 列出已启用的扩展,核对是否包含 openssl, pdo, mbstring, tokenizer, xml, ctype, json, bcmath。
立即学习“PHP免费学习笔记(深入)”;
3、若缺失扩展,在 php.ini 文件中取消对应扩展行的注释(如 extension=openssl),保存后重启 Web 服务或 CLI 环境。
二、安装并配置 Composer
Composer 是 Laravel 项目依赖管理的核心工具,必须全局可用且能正常访问 Packagist 源。若 composer 命令不可用或安装包超时,Laravel 项目初始化将中断。
1、访问 https://getcomposer.org/download/ 下载最新 Composer-Setup.exe(Windows)或运行安装脚本(Linux/macOS)。
2、安装完成后执行 composer --version 验证是否成功注册为系统命令。
3、执行 composer config -g repo.packagist composer https://packagist.org 确保使用官方源;国内用户可替换为阿里云镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/。
三、选择并启动 Web 服务器环境
Laravel 不依赖特定 Web 服务器,但需通过支持 PHP-FPM 或内置服务器的方式提供 HTTP 访问入口。直接双击打开 index.php 将无法路由,必须经由 Web 服务解析。
1、使用 Laravel 内置开发服务器:进入项目根目录后执行 php artisan serve,默认监听 http://127.0.0.1:8000。
2、使用 XAMPP/WAMP/MAMP:将 Laravel 项目的 public 目录设为虚拟主机 DocumentRoot,配置 Apache 的 mod_rewrite 启用,并确保 AllowOverride All 生效。
3、使用 Nginx:配置 server 块,将 root 指向 /path/to/laravel/public,并添加 try_files $uri $uri/ /index.php?$query_string; 路由回退规则。
四、设置 Laravel 项目密钥与环境文件
.env 文件是 Laravel 运行时配置中枢,缺失 APP_KEY 将导致加密功能失效,所有 session、cookie、密码重置链接均不可用。
1、复制 .env.example 为 .env:cp .env.example .env(Linux/macOS)或 copy .env.example .env(Windows)。
2、在项目根目录执行 php artisan key:generate,该命令自动写入唯一 APP_KEY 到 .env 文件。
3、检查 .env 中 APP_URL 是否匹配实际访问地址(如 http://localhost:8000 或 http://test.app),否则资产路径和生成链接可能错误。
五、验证数据库连接与迁移状态
即使前端页面可访问,若数据库配置错误或未执行迁移,Eloquent 查询将抛出 PDOException,后台功能无法使用。
1、编辑 .env 文件,设置 DB_CONNECTION=mysql,并填写本地 MySQL 的 DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD。
2、确保 MySQL 服务正在运行,且指定的 DB_DATABASE 已手动创建(Laravel 不自动建库)。
3、执行 php artisan migrate 导入基础数据表;首次部署可附加 --seed 参数填充示例数据(需已配置 Seeder)。











