【问题标题】:PhpStorm ignores PHP version setting in projectPhpStorm 忽略项目中的 PHP 版本设置
【发布时间】:2018-03-14 08:36:32
【问题描述】:

我将两个不同的项目导入 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 版本。

【问题讨论】:

  • 您的项目是否有可能在目标 php 版本 (5.5) 中弃用了一些代码,因此假设您有一个 5.3 的项目?
  • 这不是问题。我很久以前就修复了所有已弃用的错误。代码已经为 7.x 做好了准备,但一两个月后它仍然在 5.5 中。我不想每次重新打开项目时都切换到 7.x。
  • 您使用哪个服务器进行测试?你在这台服务器上安装的是哪个 php 版本?
  • 请记住,PhpStorm 会在 php.ini 文件中显示指定文件夹中检测到的 PHP 引擎的版本以及与此 PHP 引擎关联的调试器。所以你肯定有什么问题。欲了解更多信息:jetbrains.com/help/phpstorm/…

标签: php ide phpstorm


【解决方案1】:

您在这些项目中有 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/

两种可能的解决方案:

  1. 要么将适当的最小 PHP 版本放入您的 composer.json 中(如果您正在使用 PHP 5.5 功能编写代码.. 那么说明 5.3 为最低支持有什么意义——如果使用 5.3 运行此类代码将失败)。

    例如(composer.json 的一小部分):

    "require": {
        "php": ">=5.5",
        ...
    }
    
  2. 或在Settings/Preferences | Languages & Frameworks | PHP | Composer --> Synchronize IDE settings with composer.json禁用此类同步

【讨论】:

  • 就是这样。 Phpstorm 从 composer.json 获取版本(我有 php >= 5.3.9 )并忽略我的设置。
猜你喜欢
  • 2019-05-17
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
  • 2020-05-10
  • 1970-01-01
  • 2017-05-21
  • 2016-04-01
相关资源
最近更新 更多