PhpStorm 忽略项目中的 PHP 版本设置

标签 php ide phpstorm

我将两个不同的项目导入到 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/

两种可能的解决方案:

  1. 要么将适当的最低 PHP 版本放入您的composer.json中(如果您使用 PHP 5.5 功能编写代码..那么将 5.3 声明为最低支持有何意义 - 如果使用运行这样的代码将会失败5.3)。

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

    "require": {
        "php": ">=5.5",
        ...
    }
    
  2. 或者在设置/首选项 | 禁用此类同步。语言和框架 | PHP | Composer --> 将IDE设置与composer.json同步

enter image description here

关于PhpStorm 忽略项目中的 PHP 版本设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49272977/

相关文章:

go - go 语言的 emacs 自动完成

docker - 如何使用 docker-machine 和 PHPStorm 调试我的 docker 容器

php - 如何让我的 PHP IDE 理解依赖注入(inject)容器?

php - PhpStorm 中的 Blade 模板代码格式问题

php - 制作不带 json_encode 的 json 字符串

即使我设置了错误处理,PHP 也不会显示 PDO 错误

python - 是否有人为 Python(特别是 Python 3.0)开发成功配置了 NetBeans?

c++ - 如何在 C++ 的 Eclipse 中启用自动代码建议?

php - 在 Yii 2 中清理数据 - 内置还是扩展?

php - 使用信号量在共享内存同步中嵌套锁定/自由调用