こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
PHPエンジニアとして9年~の経験があります。
Pleiades統合開発環境、あんまり深く考えずに設定できて(それでも設定は必要です)、デバッグできて便利ですよね。
ただ、これはPHPのバージョンが5.6.3でして…今もそうなんですね(※2018年6月28日の情報です)
今入れているPleiadesの環境で、phpだけバージョン上げたいな、と思ってやってみました。
選択した方法-XAMPPを丸ごと入れ替えてやる
- XAMPPの中にあるphpフォルダの中身をphp7.2にごっそり入れ替えて設定し直す
- php7.2のXAMPPをインストールしてきて、XAMPPフォルダごと入れ替えて設定しなおす
この2つの方法があると思いました。
Pleiadesというお手軽パックで設定している以上、phpだけバージョンアップするのは途中で設定がこじれそう…と思い、2のXAMPPを丸ごと入れ替えることにしました。
念のためやってみてはいた、phpだけ入れ替えようとしたバージョン
念のためphpだけ入れ替える方法でやってみようと思いましたが、やはり何かが違ってXAMPPが起動できませんでした。まあ、dllファイルとか何か色々ありそうだものね、php.iniだけじゃなくて。調べるのも手間なので、今回はパスしました。
入れ替え手順
XAMPPのダウンロード
[blogcard url=”https://www.apachefriends.org/jp/index.html”]
環境によってダウンロードするファイルが違います。
私はWindowsなので、Windows版7.2.6をダウンロードしました。
現在のXAMPPをリネームする
現在自分が使っているXAMPPのフォルダをリネームしておきます。
保存先は人によって異なると思いますが、例えば
C:\pleiades\xampp
のようになっていると思います。私はphp5.6が入っていたので、xampp5.6にしておきました。
XAMPPをインストールする
先ほどダウンロードしたXAMPPをダブルクリックしてインストール実行します。特別変わった設定はありませんが、インストール先はデフォルトではなく、元々のXAMPPがあった場所に設定します。
Pleiades内のXAMPPを入れ替えるので、C:\xamppではありません。
ここでは「C:\pleiades\xampp」にしました。
設置してからXAMPPを起動すると、無事にApacheが立ち上がります。
念のためphpinfoで設定を確認すると、無事に7.2.6になっていることが確認できると思います。
EclipseのXDebug設定
phpが7.2.6にバージョンアップしたよ、おめでとう!
なのですが、このままだと今まで使っていた(であろう)デバッグが動きません。
XAMPPを切り替えた後にEclipseを起動したら、ワークスペースなどなどがすべて吹っ飛びました。元のhtdocsに入っていたものを新しいところに移動してもダメでした。大して入ってなかったからいいけど…
デバッグ使えなきゃ利用価値半減なので、ここは頑張って設定し直します。
XDebug用のdllファイルをダウンロード
PHPのためのXDebugファイルをダウンロードします。
ここからダウンロード→XDebug:Downloads
[blogcard url=”https://xdebug.org/download.php”]
ここではWindows64bitのためのファイルをダウンロードしました。
php_xdebug.dllを設置する
ダウンロードしたphp_xdebugなんたらかんたら.dllを設置します。
場所はxamppのphpフォルダ内、extの中です。例えばここでは
C:\pleiades\xampp\php\ext
php_xdebug.dllに名前を変えてしまってもいいし、名前はそのままでもいいです。php.iniファイルに書くときにファイル名を適宜変更してください。
apacheを再起動すると、phpinfo.phpでxdebugが入ったことが確認できます。
php.iniファイルを更新する
xampp/php/php.iniを更新します。
恐らくXDebugの記述そのものがないと思うので、以下をコピペで良いと思います。あとは環境に適宜パスを合わせるなどで…
date.timezone = Asia/Tokyo
zend_extension = "C:\pleiades\xampp\php\ext\php_xdebug.dll" ←保存先にパスを合わせる、php_xdebug.dllの名称を合わせる
;xdebug.remote_autostart = 1 ←自動開始するとEclipse起動していると常に動いてくるので邪魔かも
;xdebug.profiler_append = 0 ←profilerはなくても困らない
;xdebug.profiler_enable = 0
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "c:\pleiades\xampp\tmp" ←保存先にパスを合わせる
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
;xdebug.remote_log = "c:\pleiades\xampp\tmp\xdebug.txt" ←保存先にパスを合わせる
xdebug.remote_port = 9000
;xdebug.trace_output_dir = "c:\pleiades\xampp\tmp" ←保存先にパスを合わせる
;36000 = 10h
;xdebug.remote_cookie_expire_time = 36000
ついでに前のphp.iniと諸々の設定を合わせておくといいかもしれませんね。差分取りながらやると楽ですよ。私はWinMergeを使っています。
Eclipseを起動、デバッグを実行してみる
プロジェクトのインポートやデバッグテストを試みます。
デバッグをZendではなくXDebugにすることを忘れずに…
細かいやり方はよそに任せます。例えばこちら→【Eclipse】PHPのデバッグツールXdebugの設定と使い方
※仮想環境構築で同じことをしましたが、こちらでもほぼ同じ設定になります。
これでphp7の開発環境が整いました!
補足:前のバージョンのphpに戻したいとき
新しいXAMPPをインストールする前にリネームしたxampp56などを、xamppに戻すだけです。新しいものはxampp72などにリネームして残しておけば、使いたいときに必要なバージョンのもので使用できることになります。
但し、Eclipseのワークスペースなどはその度にリセットされてしまうようなので、開発中ソースがあるときは注意が必要です。また設定しなおせばいいんですけどね…