php -v 查命令行版本,phpinfo() 查Web服务器版本;两者不一致时需分别排查PATH、Web服务器模块配置及php.ini路径。

直接在命令行输入 php -v 就能看到当前 PHP 版本,这是最快速、最可靠的检测方式。
命令行查版本:确认是否真“过低”
很多所谓“PHP过低”的问题,其实只是开发环境和 Web 服务器用的不是同一个 PHP。先确认你实际在用的是哪个:
-
php -v—— 查命令行(CLI)版本,适合跑脚本、Composer、Laravel Artisan 等 -
phpinfo();放进一个.php文件里,用浏览器访问 —— 查 Web 服务器(如 Apache/Nginx)加载的 PHP 版本 - 如果两者不一致(比如 CLI 是 8.2,但
phpinfo()显示 7.4),说明 Web 服务没用上新版本,光升级 CLI 没用
Linux/macOS 下常见版本混乱原因
尤其在 macOS(自带老 PHP)、Ubuntu(多源混装)、或用 Homebrew / apt 手动装过多次 PHP 的机器上,容易出现路径冲突:
- 执行
which php看调用的是哪个二进制文件,比如/usr/bin/php(系统自带) or/opt/homebrew/bin/php(Homebrew) - 执行
php -i | grep "Configuration File"查当前生效的php.ini路径,再确认该配置是否启用预期扩展(如opcache、curl) - Web 服务器可能加载了旧版模块,例如 Apache 的
libphp.so还指向 PHP 7.4,需检查LoadModule php_module行和AddHandler配置
Windows + XAMPP/WAMP 用户特别注意
这类集成环境常把多个 PHP 版本共存,但只激活一个:
立即学习“PHP免费学习笔记(深入)”;
- 打开控制面板 → 点击 PHP 版本号旁边的“Config” → “PHP Settings”,里面显示的就是当前 Web 服务用的版本
- 命令行里
php -v可能仍是旧版,因为 Windows PATH 优先读取了C:\xampp\php或系统目录下的老php.exe - 修改 PATH 把新版 PHP 目录(如
C:\xampp\php82)放在旧版前面,再开新终端测试
真正麻烦的不是“怎么查版本”,而是查完发现 CLI 和 Web 用的不是同一套 —— 这时候得分别处理 PATH、Apache 模块、或 Nginx 的 fastcgi_pass 配置,漏掉任一环都会让你以为“升级失败”。











