代码 -> 首选项 -> 设置
寻找 "php版本"。然后更改它。
虽然你可以为intelephense插件设置版本,但这并没有太大帮助,因为似乎此设置不适用于VSC本身。但是你可以将 php.validate.executablePath
设置为你的 php.exe 文件的路径,例如 "php.validate.executablePath": "C:/wamp64/bin/php/php7.4.9/php.exe"
。当未设置 php.validate.executablePath
时,这应该会覆盖VSC从系统PATH环境设置中获取的可能错误的php路径。
{path_to_workspace}/.vscode/settings.json
{
"intelephense.environment.phpVersion": "8.1.0"
}
将其改为
{
"intelephense.environment.phpVersion": "7.4.0"
}
%APPDATA%\Code\User\settings.json
"intelephense.environment.phpVersion": "7.4.0",
... rest of the existing settings.json file here
在您手动更改这些文件之前,最好先备份这些文件。
"php.validate.executablePath": "/usr/local/opt/php@8.0"
- smohadjer由于上述答案未解决我的问题,我想提供一个额外的解决方案,解决了我在 VS Code 中使用正确 PHP 版本的问题。我在安装 Laravel 时遇到了这个问题,在 VS Code 终端中出现错误,提示我的平台正在使用 PHP 7.4,而 Laravel 9 需要 PHP 8.0.2。我头疼不已,不知道 VS Code 是从哪里获取 我的平台 正在使用 PHP 7.4 的信息(然而我的 WAMP 服务器正在使用 PHP 8.2),并且我还按照上面的答案在 VS Code 设置中进行了以下设置:
但是在创建新的 Laravel 项目时,VS Code 终端仍然给出了上述错误,并没有识别我的 PHP 8.2 版本。
因此,我在 Windows 11(在 Windows 10 中也适用)中找到了最终可行的解决方案,即在环境变量中设置 Path 变量(指向 PHP 可执行文件)。
1. 在Windows的开始菜单中点击并搜索环境变量 -> 您可以打开该控制面板并单击打开环境变量设置:
2. 你将会得到一个新的模态窗口,你需要像下面的图片一样点击系统变量中的路径:
3.你可以找到PHP路径,只需将路径值编辑为你自己所需的PHP文件夹,然后点击确定。我不确定是否是可选的,但我重新启动了我的VS Code编辑器,在此之后,关于PHP版本的所有内容都在VS Code中正常运行。
关于此事的一些重要警告
据我记得,我使用WAMP已经有十多年了,从来没有在Windows中设置PHP路径变量时遇到过任何问题。只有在最近几年,当你在Windows中将PATH变量设置为PHP可执行文件时,WAMP才会发出警告,因为WAMP不需要这样做,而且一些开发人员认为这是一种不好的做法,最重要的是因为它有点不必要,如果我们忘记在Windows中进行设置并想使用另一个版本的PHP,则稍后可能会导致一些问题。所以通常的问题,并不是因为Windows中的丑陋安全原因,而是因为我们作为开发人员的记忆力很差。这只会增加我们的愚蠢因素,影响我们未来的生活。而且还有更优化的解决方案。
我的建议是,如果有人时间短暂,可以深入了解一下这个主题,您可以阅读更多关于如何为VS Code设置PHP版本的详细信息。因此,我的上述解决方案是好的,没有问题,作为短期解决方案,但是在解决此问题时,请记住这个警告,并在此处深入研究此主题。
我也阅读了一些有用的链接:
如何在WAMPServer中从Windows命令行运行PHP
如果您想使用不同的PHP版本启动VS Code,这篇文章非常有帮助:
还有这个:
php.validate.executablePath
指令,也不需要设置PHP解释器路径以使Visual Studio Code工作。这些属于内置的PHP扩展,根据Intelephense设置说明,必须被禁用。 - undefined