【发布时间】:2016-06-18 11:31:20
【问题描述】:
我正在使用 PhpStorm 2016.1.2,并且已经轻松使用 PhpStorm 好几年了。我用数据库连接设置了我的 Storm,并显示了我的 PHP 页面连接到的 MySQL 数据库。 SQL 通常通过数据库连接类以自定义函数在 PHP 页面中编写。
示例代码块:
$checkData = $dataBaseSecure->getSelect(
"SELECT check_login.fail_id, UNIX_TIMESTAMP(check_login.last_action) AS timer
FROM check_login WHERE check_login.ip_addr = ? AND check_login.check_drop = ? ",
$data, TRUE);
不用担心数据库 PHP 包装器,这种风格和 PHP 中的 SQL 布局已经在我的工作中使用了几年,在 PhpStorm 和服务器上完全准确地工作并在所有测试中。
截至昨天(2016 年 6 月 17 日)
我不知道发生了什么变化,但突然间,PhpStorm 现在告诉我,在我所有的 SQL 字符串上,在我的项目中所有:
Unable to resolve symbol '<table name>'
或
Unable to resolve column '<column name>'
而且(因此)PhpStorm 在我处理我的 SQL 代码时不再执行任何自动完成或组织功能。
我尝试过的解决方案
我已经尝试根据this answer to a similar question 使我的缓存无效并重新验证。但这并没有帮助。
我已经非常仔细地研究了我的设置,但 PhpStorm 数据库选项卡成功连接到数据库,据我所知,我没有进行任何更改来导致这种行为变化。
我查看了 PhpStorm 首选项中的各种(和许多)设置,但没有发现任何关于此问题的信息,或者我调整的更改没有解决它。
-
我找到了this answer,但这似乎并不适用,因为我的表名是不是变量。我还发现了this post,虽然日期为 2014 年,但它显示了类似的问题,但不是合适的解决方案。
- 我在大多数项目中只有一个数据库连接,但如果出现此问题,数据库的数量似乎没有影响。
在命名实体周围使用适当的反引号完全转义 SQL 查询并不能解决问题。
我已将我的 SQL 方言正确配置为正确的 MySQL。
阅读我在 Stack Overflow 上找到的相关帖子没有提供任何有用的信息。
我在 PhpStorm 中没有与此问题或 PHP/MySQL 交互相关的插件。
如果您对如何解决此问题有任何想法,请告诉我。如果您有特定的偏好需要我检查,请告诉我,我可以将它们添加到问题中,(PhpStorm 中有很多偏好,我现在不会将它们全部发布在这里,因为我确信大多数与此问题无关)。
关键是这个系统两天前就完美运行了!!!
【问题讨论】:
-
1) idea.log (
Help | Show Log in...) 中有什么有趣的内容吗? 2) 尝试禁用所有非捆绑插件 3) 退出 PhpStorm;转到此项目的.idea子文件夹(此项目设置)并删除dataSources.ids文件;在 PhpStorm 中重新打开项目并重新同步数据库——更好吗? -
1) 我看了看,但什么都没有,有一些
-1的连接返回,但 IDE 中没有错误。我在这里有一个错误报告:youtrack.jetbrains.com/issue/WI-32197,其中包含一个 idea.log(不同的项目,相同的问题)。 2)试过了,没有变化。 3)这可能有效,我删除了数据库连接详细信息并从头开始重建它们,并删除了.ids文件,这似乎已经修复了它,但是有两点:a)PhpStorm 中的数据库选项卡现在正在工作(圆圈图标)不断,b)似乎很奇怪我突然需要为每个项目这样做。 -
如果您对数据库选项卡上的恒定后台工作指示器有任何线索(如何计算出它实际上(尝试)做什么?那就太好了。如果您可以添加您的第 3 点作为答案,我认为这是一个解决方案(以及可能从头开始重新建立数据库连接)。虽然我仍然很困惑这是如何发生的,但也许我的服务器人员做了一些更新或其他事情(我正在等待回复电子邮件来自他们)@LazyOne
-
“不断工作”是什么意思?任何屏幕截图或更好的小截屏视频?这对我来说似乎工作正常(虽然本地测试项目与本地 MySQL 连接)。我也可以建议在这里查看其他票:youtrack.jetbrains.com/issues/DBE。到目前为止,我完全不知道为什么它突然发生在你们所有的项目中(根据你的话)——对我来说,它必须是 IDE 范围内的一些变化(例如插件更新..或其他一些全局逻辑/环境)。您是否定期备份 IDE 范围的配置?
-
至于“忙碌指示器”——也许是youtrack.jetbrains.com/issue/IDEA-148285。也可能是您的连接设置(例如,从我从日志中看到的它通过 SSH 连接连接到 DB .. 或错误的用户名/密码?)。一般来说(作为实验)——关闭IDE;备份该项目的 .idea 子文件夹并将其删除;打开 IDE 并指向该项目根文件夹——IDE 将从这些源创建新项目;重新配置您的项目(至少是与数据库相关的部分),看看它会如何进行。如果一切正常 - 看看它与您的备份副本有什么可能的差异。
标签: phpstorm