skimemo


skimemo - 日記/2018-08-02/PHPStormとMAMPとxdebug

_ PHPStormとMAMPとxdebugとLaravelでデバッグ

MAMP+xdebug+PHPStormでLaravelプロジェクトをデバッグ実行しようとした際にはまったポイントのメモ。

  1. phpinfo()でxdebugがZEND_EXTENSIONとしてロードされていないと言われる(XDEBUG NOT LOADED AS ZEND EXTENSION)
    php.iniの問題。MAMPのデフォルトから以下のように書き換える。

    変更前:
    extension=php_xdebug.dll
    変更後:
    zend_extension="C:\MAMP\bin\php\php5.6.30\ext\php_xdebug.dll"
  2. isset($_SERVER['PHP_IDE_CONFIG'])が評価できないと言われる(Cannot evaluate expression 'isset($_SERVER['PHP_IDE_CONFIG'])')
    上記と併せてphp.iniの問題。
    httpd.confに環境変数を設定(SetEnv PHP_IDE_CONFIG "serverName=localhost")しても改善しない。

    c:\mamp\conf\phpX.Y.Z\php.ini
    [xdebug]
    xdebug.remote_autostart=on
    xdebug.remote_enable=true
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9000
    xdebug.remote_handler=dbgp
    xdebug.profiler_enable=1
    xdebug.profiler_output_dir=f:\xdebug(適当なフォルダ)
    xdebug.profile_enable_trigger=1
    xdebug.trace_enable_trigger=1
    xdebug.idekey="PHPSTORM"
    xdebug.remote_log="f:\xdebug"(適当なフォルダ)

  3. PHPStormで実行すると処理は止まるけどソースが表示されない
    phpstormのサーバーのマッピング設定の問題。
    下図のようにプロジェクトファイル()とサーバー上のファイル()が一致するようフルパスで指定する。mampはローカルで動いているので全く同じパスを指定する。
    mapping.png

  4. その後も何故かブレークポイントで止まらないことがある
    OSが一度サスペンドするとその後サーバーとのコネクションがうまく張れない?
    MAMPからhttp/dbサーバーを再起動したら復帰するかも。

    ■参考ページ
    PhpStorm is not receiving xdebug connections
    PhpStormでXdebugを使えるようにしよう!
Category: [Windows] - 12:55:35



 
Last-modified: 2018-08-03 (金) 15:11:15 (992d)