私は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'ディレクトリ
ロード中のファイルがプロジェクト内のファイルと異なるため(つまり、プロジェクト内のファイルがパスに/private
を持たない)、PhpStormが無視するため、CLIモードでデバッグできませんブレークポイント。
CLIアプリケーションの場合、にマッピングされていることをPhpStormに伝える方法はありますか?/private/var/projects
は/var/projects
にマッピングされていますか?
もしそうでなければ、実際にプロジェクトを開く以外に何をすることができますか?/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設定を介して) "電話ハンドル"アイコン。 '/'に – LazyOne