2016-06-13 27 views
1

我在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.phpOSX上的PhpStorm和内部'/ private'目录

因此,我无法在CLI模式下调试它们,因为加载的文件与项目中的文件不同(即项目中的文件路径中没有/private),并且PhpStorm忽略断点。

有没有什么办法告诉PhpStorm /private/var/projects映射到/var/projects - 对于CLI应用程序?

如果不是,除了实际从/private/var/projects/myproject开启项目外,还有什么可以做的?

+0

只有一个建议(如果你不能改变项目路径) - 与远程调试相同 - 尝试使用路径映射。另外 - 尝试使用“真正的”/ private/var/projects/myproject路径来打开这个项目。 – LazyOne

+0

路径映射适用于服务器 - 我没有服务器,因为我试图调试CLI应用程序。我明白,可能从/ private/var/projects/myproject打开该项目将解决该问题,但我想知道是否还有其他方法。 –

+1

将其视为远程CLI调试 - 您可以使用映射,因为您将提供服务器名称(请参阅https://youtrack.jetbrains.com/issue/WI-7906)。我不确定这是否会起作用,如果你从IDE启动调试会话(通过调试按钮)..所以从PHP端启动它(例如'xdebug_debug()'或通过php.ini中的xdebug config)并在IDE端使用“手柄”图标。在'/'中有 – LazyOne

回答

0

不幸的是,似乎没有解决方案允许将文件保留在原来的位置。我创建了另一个根目录/opt并在那里移动项目。现在我的结构是/opt/projects/myproject,一切按预期工作。