是否让PhpStorm对名称空间和路径执行区分大小写的一致性检查?

是否让PhpStorm对名称空间和路径执行区分大小写的一致性检查?,php,intellij-idea,phpstorm,jetbrains-ide,psr-4,Php,Intellij Idea,Phpstorm,Jetbrains Ide,Psr 4,我正在OSx上使用PhpStorm开发一个web应用程序。我正在使用Composer,并在Composer.json中配置了PSR-4自动加载。在我的开发机器上一切正常,但当我上传到运行Linux的生产服务器时,自动加载中断 经过一些故障排除,结果表明这是因为OSx使用的是不区分大小写的文件系统,而Linux使用的是区分大小写的文件系统。因为我的名字空间看起来像这样 App\Service\AuthService app/service/AuthService.php 而我的路径是这样的 A

我正在OSx上使用PhpStorm开发一个web应用程序。我正在使用Composer,并在
Composer.json
中配置了PSR-4自动加载。在我的开发机器上一切正常,但当我上传到运行Linux的生产服务器时,自动加载中断

经过一些故障排除,结果表明这是因为OSx使用的是不区分大小写的文件系统,而Linux使用的是区分大小写的文件系统。因为我的名字空间看起来像这样

App\Service\AuthService
app/service/AuthService.php
而我的路径是这样的

App\Service\AuthService
app/service/AuthService.php
自动加载程序在Linux上找不到
服务
文件夹,因为它正在查找
服务
(大写
s

好的,我可以很容易地解决这个问题,只要重命名所有文件夹和类文件,使用与名称空间相同的情况。但为了防止将来出现意外的案例不一致,如果PhpStorm在我尝试使用

use App/Foo/Bar/HelloWorld;
而实际的文件路径是

app/foo/bar/HelloWorld.php

有没有这样的设置可以让PhpStorm自动检查这一点,即使我在使用不区分大小写的文件系统的机器上开发时也是如此?

这个等价的Java问题得到了一个答案,它使用了一种较低级别的技术来重新配置IDE,以将文件系统视为区分大小写

我已经尝试过了,而且它确实有效,不仅是名称空间,还有任何不匹配的文件(例如,include、requires)

但它会在引导时警告您,您已经说过FS区分大小写,而实际上它不区分大小写,并且链接中有一些关于错误使用此设置的警告/注意事项

  • PHPStorm:帮助>编辑自定义属性
  • 创建idea.properties文件(如果提示)
  • 添加
    idea.case.sensitive.fs=true
  • 重新启动IDE
你可以看到:

文件系统区分大小写不匹配
该项目似乎位于不区分大小写的文件系统上。
这与IDE设置不匹配(由属性“idea.case.sensitive.fs”控制)
更多细节。(展示气球)
https://confluence.jetbrains.com/display/IDEADEV/Filesystem+区分大小写+不匹配

因此,我可能会尝试将其作为扫描错误的选项,但可能不会一直使用它。

我可能错了。。但据我所知,这种功能是不存在的。您可以向或/和此处提交功能请求单(第三方插件:)同意,royal pain。还要注意MySQL表名等,它们通常映射到文件系统文件。2121年仍然在这里:(