Laravel 11在UnicomOS 1上安装失败的主因是PHP版本低于8.2且扩展缺失:系统默认仅提供PHP 8.1,而Laravel 11强制要求PHP ≥ 8.2并启用mbstring、openssl、pdo等11项扩展,否则composer create-project会因依赖解析失败中断,或artisan命令静默失效。

php -v 输出低于 8.2 就必然失败,UnicomOS 1 默认 PHP 是 8.1.x,Laravel 11 的 composer create-project 会在解析依赖阶段直接中断,报错类似 Your requirements could not be resolved。
php -v 显示 8.1.x?别试了,版本硬门槛过不去
- Laravel 11 的
composer.json明确声明"php": "^8.2",Composer 2.5+ 会严格校验,不满足就拒绝安装 - UnicomOS 1 官方源(截至 2026 年 9 月)只提供
php81包,没有php82或php83的 RPM - 不要加
--ignore-platform-reqs:装完也跑不起来,php artisan key:generate会因只读类(readonly)、显式类型化属性等 PHP 8.2+ 特性直接 fatal error
php -m 缺扩展?连报错都看不到,artisan 会静默失效
即使你手动编译了 PHP 8.2,UnicomOS 1 默认不启用关键扩展:
- 必须启用:
mbstring、openssl、pdo、tokenizer、xml、ctype、json、bcmath、fileinfo、zip、opcache - 验证命令:
php -m | grep -E "(mbstring|openssl|pdo|bcmath|fileinfo)",漏一项,artisan serve可能启动但路由 404,或optimize:clear报Class "PDO" not found - 启用方法:编辑你实际使用的 php.ini(运行
php --ini确认路径),取消注释对应extension=xxx行;若用源码编译,需带--with-mbstring --with-openssl --with-pdo-sqlite等参数
composer create-project 卡在 “Resolving dependencies”?镜像和内存双杀
- UnicomOS 1 默认没配国内镜像,直连 packagist.org 极易超时或 zlib decode error
- 推荐操作(单次有效,不污染全局):
composer create-project --repository=https://mirrors.cloud.tencent.com/composer/ --prefer-dist laravel/laravel myapp
- 若仍卡住,加内存限制:
php -d memory_limit=-1 composer create-project ... - 注意:别用
laravel new—— 它依赖全局laravel/installer,而该包本身也受 PHP 版本约束,且 UnicomOS 的 SELinux 策略常拦截其 bin 目录执行
php artisan serve 能跑但页面空白?权限和缓存没清干净
-
.env必须存在:运行cp .env.example .env - 密钥必须生成:
php artisan key:generate,否则 session、CSRF 全崩 - storage 和 bootstrap/cache 目录需可写:
chmod -R 775 storage bootstrap/cache - 缓存必须清:
php artisan config:clear && php artisan cache:clear && php artisan view:clear
真正卡住人的不是命令输错,而是以为“装完了”,其实 PHP 版本、扩展、镜像、权限、缓存五层里只要有一层没对齐,Laravel 11 就不会真正工作。


















