PhpStorm 忽略项目中的 PHP 版本设置
PhpStorm ignores PHP version setting in project
我将两个不同的项目导入 PhpStorm。之后,像往常一样,我需要将项目的 PHP 版本从 5.3 切换到 5.5。这样做后我保存了项目。
当我重新打开这个项目时,我发现 PhpStorm 没有保存这个设置。我再次进行同样的操作。但同样,在重新打开项目后,我需要为项目设置正确的版本。
我检查 .idea
文件夹中的 xml 文件,php 版本设置为 5.5.0 。我检查了 project.default.xml
并且 php 版本也设置为 5.5.0。
我使用 JetBrains Toolbox 重新安装了 PhpStorm,但这并没有改变任何东西。
我的 OS 是 Ubuntu 14.04 。我的项目文件在我的 /home
文件夹中,其中 user/group 是 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",
...
}
或在Settings/Preferences | Languages & Frameworks | PHP | Composer --> Synchronize IDE settings with composer.json
处禁用此类同步
我将两个不同的项目导入 PhpStorm。之后,像往常一样,我需要将项目的 PHP 版本从 5.3 切换到 5.5。这样做后我保存了项目。
当我重新打开这个项目时,我发现 PhpStorm 没有保存这个设置。我再次进行同样的操作。但同样,在重新打开项目后,我需要为项目设置正确的版本。
我检查 .idea
文件夹中的 xml 文件,php 版本设置为 5.5.0 。我检查了 project.default.xml
并且 php 版本也设置为 5.5.0。
我使用 JetBrains Toolbox 重新安装了 PhpStorm,但这并没有改变任何东西。
我的 OS 是 Ubuntu 14.04 。我的项目文件在我的 /home
文件夹中,其中 user/group 是 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", ... }
或在
Settings/Preferences | Languages & Frameworks | PHP | Composer --> Synchronize IDE settings with composer.json
处禁用此类同步