MacにWP-CLIを入れてコマンドでWordPressの管理をしようと思い、MAMPのPHPを使うようにパスを設定してみました。そしたらxdebugのエラーが出て、ちょっと詰んだのでその解決法を。

※MacとMAMPの話が前提になります。

まず、WP-CLIをインストールします。
参考:WP-CLIをMAMP環境で使う

MacにはもともとPHPが入っているのですが、今回はMAMPのPHPを使うようにパスの設定をして、
php wp-cli.phar --info
を叩いて、WP-CLIの情報を出した時に出てきたエラーは下記。

Failed loading /Applications/MAMP/bin/php/php5.5.14/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so: dlopen(/Applications/MAMP/bin/php/php5.5.14/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so, 9): image not found

xdebugの設定が読み込めてませんよ、というエラー。PHP INFOで設定を確かめてみても、xdebugは存在しませんでした。

phpinfo
この画面です。

MAMP xdebugで検索したサイトを見ながらphp.iniの設定を追加したり、変えてみたものの、いっこうにxdebugがphpinfoに表示されない。。

設定ファイルが違うのかと思って、
/Applications/MAMP/conf/php5.5.14/php.ini
のphp.iniに設定を追加しても変わらず。

xdebugを追加する正しい方法

MAMPで使っているPHPのバージョンを調べます。「設定」→「PHP」で確認。
MAMP

バージョンを確認したら、下のパスにある設定ファイルを開きます。
/Applications/MAMP/bin/php/php5.5.14/conf/php.ini

で、下記のコードを追加。

zend_extension="/Applications/MAMP/bin/php/php5.5.14/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.coverage_enable=1 
xdebug.default_enable=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/tmp"
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000

僕が一番はまってしまっていたのは、赤枠にあるPHPのバージョンと、no-debug-non-zts-xxxxxxxxの名称がきちんと対応してなかったためでした。(参考サイトにあったコードをそのままコピーして、PHPのバージョンだけMAMPのものにアップデートしてた)

code

そこでPHP INFOの「PHP Extension」から対応するものに修正します。
extension

php.iniを保存して、Apacheを再起動すれば、xdebugは無事に追加されました。
xdebug

当たり前のことですが、サイトに紹介されているコードは参考程度にして、自分の環境とは違うということを前提に設定をしないとだめだな、と思いました。考えてみれば、当たり前のことのなんですけどね。初めてすることになると色々と試行錯誤が必要になります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください