最准最快方法是直接查composer.json的php和ext-xxx声明,再用composer show --platform和php -m验证真实环境,确保CLI与Web环境一致。

直接查 composer.json 里的 "php" 字段和扩展列表,再用命令验证真实环境是否满足——这是最准、最快、不依赖界面或猜测的方法。
看 composer.json 中的硬性声明
项目根目录下的 composer.json 是唯一权威来源。打开它,定位到 "require" 区块:
-
PHP 版本要求:找
"php": "^8.1 || ^8.2"这类写法,表示最低需 PHP 8.1.0;若为"^7.4",则不能运行 Laravel 9+;Laravel 13.2.0 明确要求 PHP 8.3+ -
扩展要求:虽然 Laravel 不在
require中显式列扩展(如mbstring),但它的框架源码和安装器会强制检查;可结合laravel/installer的默认配置或项目文档确认必需项
用 Composer 命令读取解析后的实际平台版本
在项目根目录运行:
composer show --platform
立即学习“PHP免费学习笔记(深入)”;
输出中会明确显示:php.version: 8.1.10 —— 这是 Composer 当前认定的“目标 PHP 版本”,已综合了 config.platform.php 和 require.php 的设置。
若该行缺失,说明未声明约束,需进一步检查或按 Laravel 版本反推。
终端快速验证当前环境是否达标
运行以下两条命令,直击关键:
php -v
查看输出的主版本号(如 PHP 8.2.15),注意只比对主次版本(8.2),不看补丁号。
php -m | grep -E '^(openssl|pdo|mbstring|tokenizer|xml|json|curl|ctype|zip)$'
必须全部出现。缺 tokenizer 会导致 php artisan 直接报错;缺 pdo 则数据库根本连不上。
运行时确认(Web 或 Artisan 环境下)
有时 CLI 和 Web 使用不同 PHP 配置,需分别验证:
- CLI 环境:执行
php -r "echo PHP_VERSION . ' | ' . (php_ini_loaded_file() ?: 'none') . \"\n\";" - Web 环境:临时加路由
Route::get('/php-info', fn() => response()->json(['version' => PHP_VERSION, 'extensions' => get_loaded_extensions()]));,访问后删掉 - Artisan 中快速看:运行
php artisan tinker后输入PHP_VERSION或extension_loaded('mbstring')



















