月下博客

PhpStorm不能更改PHP语法版本

打开许久没用的PHPStorm,提示PHP文件里的“Group Use”语法在PHP7中才可用。尝试进设置里更改PHP语法版本,发现熟悉的下拉框不可选。虽然不影响使用,但作为强迫症患者,项目中的一条条红线不解决掉是不能安心写代码的。

软件启动时提示有更新,寻思是不是升级一下就好了?从官网下载升级包安装,打开项目问题依旧。

升级不能解决问题,看来另有原因。上Google查找答案,发现JetBrains的官方论坛有人给出了原因:composer.json中设置了PHP的版本。

原因已经找到,解决办法主要有以下几种:

  1. composer.json中更改语言版本,例如"php": ">=5.4.0" 改成 "php": ">=7.1.0"
  2. 在”Settings/Preferences | Languages & Frameworks | PHP | Composer”中取消自动与composer同步(Synchronize IDE Settings with composer.json);
  3. 删除composer.json文件。不推荐此用法,会导致第三方依赖库不能下载,失去自动补全功能;
  4. 使用旧版的PhpStorm。论坛反馈和本人亲身体验,旧版不会读取composer.json文件锁定语言版本,升级到2018.1版本中才会无法更改语法版本。

推荐1,2两种做法。

参考

  1. https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000129310-can-t-change-php-language-level-macOS-php71-in-opt-local-bin-not-usr-bin
  2. https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000794610-When-marking-sources-PhpStorm-automatically-returns-to-previous-settings-on-restart?page=1#community_comment_115000659650