如何在PHPStorm中设置PHP版本?


128

是否可以设置PHP版本值(例如4.0+),并使PHPStorm突出显示不适用于最旧版本的功能?例如,对于PHP4,这应该突出显示static function等。我在PC上安装了PHP,但是我不想为每个必须生成的小脚本安装较旧的PHP版本。

谢谢


2
为什么会突出显示__construct()?它在PHP4中是一个非常有效的函数标识符,只是没有被称为构造函数。
Mchl,2010年

1
@Mchl,静态函数可以吗?
蓬松的

在PHP4和IIRC中都可以使用static。尝试abstract或使用可见性修饰符的publicprotectedprivate。无论如何,编写本应在PHP4和PHP5下都可以工作的OO代码是IMO的荒谬任务。两者之间的对象模型差异太大。
Mchl 2010年

@Mchl,static $variable也许不是static function
蓬松的2010年

也许。我没有使用PHP4 OOP
Mchl,2010年

Answers:


192

因此,您的意思是突出显示所有与您编写的PHP版本不兼容的代码,对吗?可以在这里完成:

Preferences -> Languages & Frameworks > PHP

或使用新版本的PhpStorm:

File -> Settings -> Languages & Frameworks > PHP

enter image description here

然后选择您的PHP版本,例如7.0

例如,当您的本地系统运行PHP 7.0但生产运行PHP 5.5时,这将非常有用。这样,phpstorm会警告您哪些部分在生产中不起作用。


1
您使用什么版本?我没有这个选择。
蓬松的2014年

9
我们可以针对每个项目执行此操作,还是仅“全局”操作?
ryanwinchester

3
对于当前版本的PhpStorm :PhpStorm 2016.3.2。应该是File -> Settings -> Languages & Frameworks -> PHP
thoroc

1
是否可以全局设置它,而不是为每个项目再次设置?
Fusca Software '18

1
并且不要忘记,如果您使用的是旧的phpstrorm(例如2018.x),您将不会看到7.4的PHP语言级别
Vladimir Ch

110

如果您的字段被禁用。

可能您的设置“使用composer.json同步IDE设置”已启用

您可以在composer.json文件中更改PHP版本

"require": {
    "php": ">=7.1.0",
}

或在此路径中禁用设置

File -> Settings -> Languages & Frameworks > PHP > Composer

*如果您更改composer.json文件-正如FélixGagnon-Grenier所评论的那样,请记住,它会影响以后需要软件包的方式


4
这个答案不是很准确。如果(且仅)选中“与作曲家同步”选项,这样做将更改语言级别。此外,它对以后需要软件包的方式有影响。
费利克斯·加侬-格雷尼尔

3
它有助于我理解为什么禁用了PHP语言级别选择。
sglessard

2
这真的很有帮助
尼克松·科斯基

3
在我的情况下,phpstorm正在寻找另一个composer.json,所以我更改了它,问题解决了。谢谢!
阿克马尔

13

通过选择文件|打开设置对话框设置,然后在语言和框架下单击PHP。将打开“ PHP”页面。

PHP设置的屏幕截图

现在您可以做两件事:

  1. 在打开的PHP页面上,您可以设置“ PHP语言级别”。
  2. 您可以在本地安装所需的PHP版本,例如,安装wamp或xamp之类的软件包,然后在打开的PHP页面上设置PHP的解释器。更多信息在这里

1
您看到设置了“针对当前项目”吗?如何为全球(所有项目)更新它?
Vuong

7

您可以使用Alejandro Moreno的答案,但有时您可能无法从封闭下拉菜单更改PHP级别。

您可以从以下位置禁用“使用composer.json同步IDE设置”复选框:

File-> Setting-> Languages & Frameworks-> PHP->Composer

并再次申请后打开

File-> Settings-> Languages & Frameworks->PHP

在这里,您可以从打开的下拉菜单中更改PHP级别。


2

在Mac上,它位于PHPStorm,首选项,语言和框架,PHP下

在此处输入图片说明


2

您可以按照@Alejandro Moreno的概述为每个项目设置此设置

还有一个全局设置,可让您为所有项目设置PHP语言级别。

File-> Preferences for New Projects-> Languages & Frameworks->PHP

在这里,您可以为所有将来的项目设置所需的级别:-)




0

就像@mohammed一样,我的作曲家PHP版本已同步到我的phpstorm。所以我所做的就是更新我的composer.json php版本号,它影响了整个项目。

不要忘记 composer update php artisan config:clear

祝您编码愉快!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.