如何在PHP Intelephense中更改php的版本?

rsl1atfo  于 2023-10-15  发布在  PHP
关注(0)|答案(4)|浏览(214)

我使用iis和vscode来做php的工作。我最近把iis从php7.3更新到了php7.4。我的问题是vscode仍然使用php7.3。我在谷歌上搜索了如何在vscode中更改版本,几乎所有的资源都说有一个JSON文件可以在文件>首选项>设置中的php设置下更改。当我搜索php时,我没有看到任何这些选项。我做错了什么?

xlpyo6sf

xlpyo6sf1#

代码->首选项->设置
查看“PHP版本”。那就换吧

1szpjjfi

1szpjjfi2#

您可以直接设置该值,如屏幕截图所示。条目名为PHP版本。如果为该特定工作区执行此操作,则将在

{path_to_workspace}/.vscode/settings.json

如果在资源管理器中看不到.vscode文件夹,则必须更改资源管理器中的设置以查看隐藏文件夹。
如果您确实在屏幕截图中为该特定工作区设置了页面上的PHP版本,那么您应该在settings.json中找到如下所示的条目

{
  "intelephense.environment.phpVersion": "8.1.0"
}

把那个改成

{
  "intelephense.environment.phpVersion": "7.4.0"
}

如果要全局更改所有项目的设置,可以执行以下操作:
打开资源管理器,或命令行(xml.exe),然后键入或复制以下行

%APPDATA%\Code\User\settings.json

通常这将启动vscode(如果尚未运行)并打开settings.json。
在该文件开头处,

"intelephense.environment.phpVersion": "7.4.0",

  ... rest of the existing settings.json file here

在手动更改这些文件之前,最好对这些文件进行备份。

42fyovps

42fyovps3#

虽然你可以设置intelephense插件的版本,但这不会有太大帮助,因为这个设置似乎不适用于VSC本身。但是,您可以将php.validate.executablePath设置为php.exe文件的路径,例如"php.validate.executablePath": "C:/wamp64/bin/php/php7.4.9/php.exe"。当php.validate.executablePath未设置时,这应该覆盖VSC从系统PATH env设置中获取的可能错误的php路径。

8cdiaqws

8cdiaqws4#

由于上述答案并没有解决我的问题,我想给予一个额外的解决方案,以处理我的问题,在VS代码中有正确的PHP版本。我在安装Laravel时遇到了这个问题,VS代码中的终端给了我一个错误,我的平台使用的是PHP 7.4,而Laravel 9需要PHP 8.0.2。它只是让我头疼,弄清楚VS Code在哪里获取我的平台使用PHP 7.4的信息(然而我的WAMP服务器使用PHP 8.2)(我也在VS code设置中设置,根据上面的答案,如下:

1.“php.validate.executablePath”:“C:/wamp64/bin/php/php8.2.0/php.exe”
1.“intelephense.environment.phpVersion”:8.2.0
但是在创建一个新的Laravel项目时,VS代码终端仍然给了我上面的错误,并且没有识别我的PHP 8.2版本。
因此,我在Windows 11中的最终工作解决方案(与Windows 10相同)是在环境变量中设置Path变量(PHP可执行文件)。

1.在windows中开始菜单点击并搜索环境变量->您可以直接打开该控制面板,点击并打开环境变量设置:

**2.**你将得到一个新的模态窗口,你必须点击系统变量中的路径,如下图所示:

**3.**你会找到PHP路径,你只需要编辑路径值到你自己需要的PHP文件夹,然后点击OK。(我不确定它是否是可选的,但我重新启动了我的VS Code编辑器,从那时起,关于PHP版本,VS Code中的PHP版本一切正常)。

这方面的一些重要警告

据我所知,我已经使用WAMP超过10年了,在Windows中设置PHP路径变量从来没有任何问题,只有在过去的几年里,当你在Windows中将PATH变量设置为PHP可执行文件时,WAMP才会发出警告,因为WAMP不需要,而且一些开发人员认为这是一种不好的做法,最重要的是因为它有点不必要,后来,如果我们忘记了Windows中设置,而想使用另一个版本的PHP,这也可能导致一些问题。所以通常的问题,这不是因为一个丑陋的安全原因在windows首先,但因为我们作为开发人员有非常糟糕的记忆。这只会增加我们的愚蠢因素,影响我们未来的生活。在这个问题上有更好的解决方案。
我的建议是更深入地检查这个主题,因为有人时间很短,你可以阅读更多关于如何为VS Code设置PHP版本的细节。所以我上面的解决方案很好,作为短期解决方案没有问题,但是当你解决这个问题并在SO上更多地研究这个主题时,也要记住这个警告。
我也读过这方面的有用链接:
如何在WAMPServer中从Windows命令行运行PHP
如果你想用不同的PHP版本启动VS Code,这篇文章很有帮助:
PHP版本在XAMPP和VS代码上的问题
还有这个
如何在WAMPServer中从Windows命令行运行PHP

相关问题