Windows终端仍用旧PHP版本求助:已调环境变量仍无效
问题排查与解决
先看你贴出来的Path变量,C:\laragon\bin\php\php-8.1.10-Win32-vs16-x64是排在8.2路径前面的——Windows查找可执行文件时会严格按照Path里的顺序来,先找到哪个就用哪个,这就是终端一直调用8.1的直接原因。
除了系统Path,还可以从这些地方排查PHP版本的配置来源:
- Laragon自带配置:Laragon有自己的默认PHP版本设置,打开Laragon面板,点「PHP」选项,看看是不是默认选中了8.1.10。Laragon的优先级通常比系统环境变量高,就算你改了系统Path,它也会优先用自己指定的版本。
- 终端环境缓存:有些终端会缓存旧的环境变量,试试新开一个终端窗口(别在当前窗口刷新),或者执行
refreshenv命令(需要有Chocolatey这类工具支持)刷新后再测php -v。 - Windows注册表:检查注册表路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\php.exe,看看这里指向的是不是8.1的php.exe;另外也看看HKEY_CURRENT_USER\Environment里的Path和系统Path是否一致,有没有单独配置的8.1路径。 - 用
where php定位路径:在终端执行where php,它会列出所有能找到的php.exe路径,能直接看到哪个路径被优先匹配,帮你快速定位问题。
你之前重命名8.1文件夹后8.2生效,就是因为系统在Path里找不到8.1的php.exe了,才会往下找8.2的路径。
内容的提问来源于stack exchange,提问作者Stefano Martini
相关产品推荐
相关产品推荐

