【问题标题】:PhpStorm 2020.2 - PHP Built-in functions are not recognizedPhpStorm 2020.2 - PHP 内置函数无法识别
【发布时间】:2021-04-30 04:48:42
【问题描述】:

我刚刚安装了 PhpStorm 2020.2,注意到所有 php 基类(如 Closure 或 mysqli)都没有被 IDE 识别。

查看 PHP 基础文件所在的左侧,它只显示文件夹,就像您在第一张图片中看到的那样,另一方面,我的旧 PhpStorm 2017 有文件夹,里面有文件,无法识别所有php基类

PhpStorm 2020.2

PhpStorm 2017

【问题讨论】:

  • 检查所有插件都是最新的并且php安装也是如此。
  • @Jite 是的,当我安装这个版本时,唯一想要更新的是我更新的 laravel 插件。但是这个版本的插件和配置与其他 phpStorm 相同。 PHP 已安装并运行,即使 phpunit 测试也很好,只是 IDE 找不到这些类
  • 当你把光标放在“错误”上时,它会说什么?
  • undefined class Closure,并问我是否要导入,它已导入,如您所见 use Closure 但 IDE 尝试在同一文件夹中查找 Closure 类并向我显示导入选项供应商文件夹中的关闭类
  • 您可以尝试file > Invalidate Cache or Restart 并使缓存无效吗?这样做会迫使 IDE 变得愚蠢并重新学习,有时它会有所帮助!

标签: php phpstorm


【解决方案1】:

这是一个已知问题。 AFAIK 关于为什么会发生以及为什么只有部分用户受到影响仍然没有确切的想法。

https://youtrack.jetbrains.com/issue/WI-54626 -- 观看这张票(星号/投票/评论)以获取有关任何进展的通知。 已在 PhpStorm 2021.1.1 版本中修复。


当前解决方法:

  1. 关闭IDE
  2. 找到 PhpStorm 2020.2 在您的计算机上存储索引/缓存的文件夹(见下文)
  3. 删除该文件夹(因为标准的“无效缓存”在这里没有帮助)
  4. 启动 IDE

不同操作系统的缓存文件夹的典型位置:

  • Windows:%USERPROFILE%\AppData\Local\JetBrains\PhpStorm2020.2\caches
  • Linux:~/.cache/JetBrains/PhpStorm2020.2/caches
  • macOS:~/Library/Caches/JetBrains/PhpStorm2020.2/caches

对于 2021.1 版本: 使用 File | Invalidate Caches... - 现在可以更好地清除它们,因此无需手动删除此类文件夹。

  1. File | Invalidate Caches...
  2. 选择前 2 个选项(也许只有第一个就足够了,但最好同时使用)
  3. 在此处使用Invalidate and Restart 按钮
  4. IDE 将重新启动后,打开项目并让重新索引完成。

如果问题仍然存在(即第二天/重新启动后再次出现),则原因不同,您将不得不等待 2021.1.1 版本。

【讨论】:

  • 天哪,成功了,我只是不知道如何研究,哈哈,非常感谢,我失去了一个下午,但至少知道一切正常,我会更新标题匹配真正的问题
  • 已确认 - 通过“文件 -> 使缓存无效/重新启动”从 PHPStorm 菜单中清除根本不起作用。从 .cache 文件夹中手动清理完美地完成了这项工作。就我而言,是在 PHPStorm 更新到 2020.3.2 版之后。
【解决方案2】:

在做所有@lazyone 所说的?之前,请确保正确设置了 Phpstorm php 解释器。你可以从这里检查:

文件/设置/语言和框架/php/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 2017-09-10
    • 2020-10-19
    • 2017-07-24
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多