我在OSX上使用PhpStorm(两者的最新版本,但没关系)。由于我无法控制的情况,该项目位于/var/projects/
之下 - 本质上,OSX转换为/private/var/projects/
。我的自动加载器使用__DIR__
构造来确定类的基本位置 - 这解析为/private/var/projects/myproject/specific/path/autoloader.php
。因此,类正在加载路径/private/var/projects/myproject/path/to/file/class.php
。OSX上的PhpStorm和内部'/ private'目录
因此,我无法在CLI模式下调试它们,因为加载的文件与项目中的文件不同(即项目中的文件路径中没有/private
),并且PhpStorm忽略断点。
有没有什么办法告诉PhpStorm /private/var/projects
映射到/var/projects
- 对于CLI应用程序?
如果不是,除了实际从/private/var/projects/myproject
开启项目外,还有什么可以做的?
只有一个建议(如果你不能改变项目路径) - 与远程调试相同 - 尝试使用路径映射。另外 - 尝试使用“真正的”/ private/var/projects/myproject路径来打开这个项目。 – LazyOne
路径映射适用于服务器 - 我没有服务器,因为我试图调试CLI应用程序。我明白,可能从/ private/var/projects/myproject打开该项目将解决该问题,但我想知道是否还有其他方法。 –
将其视为远程CLI调试 - 您可以使用映射,因为您将提供服务器名称(请参阅https://youtrack.jetbrains.com/issue/WI-7906)。我不确定这是否会起作用,如果你从IDE启动调试会话(通过调试按钮)..所以从PHP端启动它(例如'xdebug_debug()'或通过php.ini中的xdebug config)并在IDE端使用“手柄”图标。在'/'中有 – LazyOne