Laravel 10在PHP 8.1上运行必须四步闭环:一验PHP扩展真实启用(php -m查mbstring/openssl/pdo/fileinfo等共9项);二配腾讯云Composer镜像;三用composer create-project laravel/laravel:^10.0显式锁定版本;四改.env后必执行php artisan key:generate && config:clear && cache:clear。

直接在 PHP 8.1 上跑 Laravel 10,关键不是“能不能装”,而是四件事必须对齐:PHP 扩展真实启用、Composer 镜像源稳定、版本显式锁定、.env 修改后清缓存。
确认 PHP 8.1 环境真实就绪
只看 php -v 不够,得验证扩展是否真在运行时加载:
- 执行 php -m | grep -E "(mbstring|openssl|pdo|tokenizer|xml|ctype|json|intl|fileinfo)",每项都应有输出;缺 intl(Mac 常见)就重装:brew install php@8.2;Ubuntu/Debian 执行 sudo apt install php-intl
- 运行 php --ini 查出实际生效的 php.ini 路径,打开它检查 extension= 行是否取消注释,尤其 fileinfo(Laravel 10 安装时必报错)、opcache(开发阶段可关,但别留着重复加载警告)
- 宝塔用户进「PHP 管理」→「安装扩展」勾选 fileinfo、exif、redis(按需)、pcntl(队列用),然后重启 PHP-FPM
用 Composer 拉取稳定版 Laravel 10
默认命令容易拉到 Laravel 11+ 或 dev 分支,导致 PHP 版本不兼容卡死:
Laravel Cloud(cloud.laravel.com)。此技能用于处理所有 Laravel Cloud 请求,包括搜索和读取数据。只要任务涉及 Laravel Cloud,即使用此技能。
- 先全局切腾讯云镜像:composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
- 创建项目时务必加版本约束:COMPOSER_MEMORY_LIMIT=-1 composer create-project laravel/laravel:^10.0 myapp
- 若提示 zlib_decode(): data error,删缓存重试:rm -rf ~/.composer/cache(macOS/Linux)或 del /s /q %COMPOSER_HOME%\cache(Windows)
初始化项目前必须做的三件事
.env 改完不清理缓存,90% 的问题都出在这一步:
立即学习“PHP免费学习笔记(深入)”;
- 复制 .env.example 为 .env,填好 APP_URL=http://localhost:8000(别写 127.0.0.1)、DB_DATABASE(数据库名,不是用户名)、DB_PASSWORD=(空密码就留空,别写 null)
- 进项目根目录执行:php artisan key:generate(生成 APP_KEY,手输会坏 session)
- 立即清缓存:php artisan config:clear && php artisan cache:clear——这是让 .env 生效的唯一方式
启动与验证
本地开发首选内置服务器,省去 Web 服务配置陷阱:
- 确保当前目录含 artisan 文件,运行:php artisan serve
- 浏览器访问 http://localhost:8000,看到 Laravel 欢迎页即成功
- 若报错 "No input file specified",检查是否误把整个项目放进了 htdocs;若页面白屏,大概率是 APP_KEY 没生成或 config 缓存未清


















