我将两个不同的项目导入到 PhpStorm。之后,像往常一样,我需要将项目的 PHP 版本从 5.3 切换到 5.5。完成此操作后,我保存了项目。
当我重新打开此项目时,我发现 PhpStorm 不保存此设置。我再次执行相同的操作。但同样,重新打开项目后,我需要为项目设置正确的版本。
我检查 .idea
文件夹中的 xml 文件,并且 php 版本设置为 5.5.0 。我检查了 project.default.xml
并且 php 版本也设置为 5.5.0。
我使用 JetBrains Toolbox 重新安装 PhpStorm,但这不会改变任何内容。
我的操作系统是 Ubuntu 14.04 。我的项目文件位于我的 /home
文件夹中,其用户/组是 www-data/www-data
。我的用户位于 root/www-data/pmucha
组中。编辑文件没有问题(没有权限问题)。
我使用PhpStorm最新版本2017.3.5。
我找不到解决这个问题的方法。有人可以帮助我吗?
我真的厌倦了每次打开项目或开始新项目时都设置 PHP 版本。
最佳答案
这些项目中有composer.json吗?很可能是的。
事情是:PhpStorm 默认情况下会同步composer.json 文件中的一些设置。它可以同步您的 PHP 语言级别以及源代码和测试根。
现在看起来composer.json中定义的PHP版本是5.3或更低(5.3是PhpStorm中最低的)..因此PhpStorm将您手动配置的版本重置为composer.json提供的版本。这种同步通常发生在项目打开时..因此感觉 IDE 不记得设置。
https://blog.jetbrains.com/phpstorm/2017/07/configuring-with-composer-in-phpstorm-2017-2/
两种可能的解决方案:
要么将适当的最低 PHP 版本放入您的composer.json中(如果您使用 PHP 5.5 功能编写代码..那么将 5.3 声明为最低支持有何意义 - 如果使用运行这样的代码将会失败5.3)。
例如(
composer.json
的一小部分):"require": { "php": ">=5.5", ... }
或者在
设置/首选项 | 禁用此类同步。语言和框架 | PHP | Composer --> 将IDE设置与composer.json同步
关于PhpStorm 忽略项目中的 PHP 版本设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49272977/