はじめに
PHP上級試験とは関係ないのだけど、
なんとか仕事もらってPHPの環境構築することになり、
昔やったことを思い出しながらやった結果、なんとかできたので備忘録としてメモ。
やること
「php eclipse 環境構築」で調べたらたいてい出てくるのと同じ。
0) Xamppをインストール
そもそもなぜEclipseにXamppあるのになぜ当時の自分はXamppを分けてインストールしたのか考えたのだけど、
どうやらEclipseじゃなくて、PHPStormをインストールする記事と読み間違えてたようです。
↑
そこから環境変数PathにXamppを通しておいたりとかして、Eclipseで起動できるかどうかやっていた気がします。
本来は、1)からスタートすればよかっただけなのに。。。
1) Eclipseのインストール
https://mergedoc.osdn.jp/
私はEclipse2021>PHPのWindows64ビットをDL。
32ビットか64ビットかはWindowsのバージョンによっても異なるので確認してから
それぞれの環境に合うものをDLすればいいと思う。
2)XamppでApacheを起動させる(これは電源切るたびに毎回します)
これインストールしたときはやっていても、続きやるときにApache切れてて使えなかったという
ようなことがあります
3)Eclipse起動
ここで、Workspaceは日本語名書いたらハマります
デフォルトが日本語なので英語で作成しておくとよいかと。
4)よほどのことがない限りここまでは順調にいけると思います
ここで、phpinfo()をやっておいて、コードをコピーしておきます。
5)次にXdebugのインストールへ。
ここで、4)でコピーしたコードを貼り付けます
https://xdebug.org/wizard.php
6)出てきた指定のXdebug.dllをダウンロードします。
ここで、デバッグをしてみようと思ったら、
57%あたりで止まってしまったり、ブレークポイントで止まらなかったりというような現象が起き、
調べていたら、日が暮れて、その日は終了。
次の日(といっても月曜日)の午後改めて調べ直し。
エラーで調べるのをやめて、PHP8.0にXdebugインストールと言うところで調べると
やっとわかった。
Xdebugは2.0系と3.0系とでは書き方が異なるらしい。
http://www.y2sunlight.com/ground/doku.php?id=eclipse:xdebug3
というわけで、
[xdebug]
xdebug.mode=debug
xdebug.client_host="localhost"
xdebug.client_port=9000
xdebug.start_with_request=default
zend_extension=C:\usr\xampp7.3.25\php\ext\php_xdebug-3.0.1-7.3-vc15-x86_64.dll
のように書き直せばよかったらしい。
なお、portの部分は自分の環境のポート、extensionの部分は、Xdebagのdllを格納した場所に書き直すことに注意。
私の場合は、最初DLしたXamppの中にあったphp/ext/のところにdllがあったのでこれを格納場所にしています。
EclipseだけDLしたなら、その中にXamppがあるのでそこの格納場所を書けばいいと思います。
そして重要なこと。
上記のdllファイルを格納したら、格納場所にある、php_xdebug.dllは削除しておくこと(バックアップとして、デスクトップとかにコピーしといたらいいです)
こうして再びデバッグしたら、、、成功しました!
ということで環境構築終了!
今回ハマったのは
・環境変数(と、Xamppを最初にインストールしたことが間違い)
・Xdebug2.0系と3.0系とでは書き方が違う
・dllは1つだけにする
でした
今回は仕事用のWindowsだったけど、プライベートのmacも8.0にしてみよっと。
追記(2021.05.25)
・結局、xamppはEclipseの外で使うと、やりたいことについて色々弊害が出てきてしまうので、結局外のxamppとEclipseすべてを削除、DL、インストールし直した。
その時は30分程度で完了した。
このときは、どこでハマるかというのがわかっていて、上記の3.0のを直せばすぐできた。
やはり環境構築の場数を踏むというのはすごく大事。
ちなみにここで、環境変数を変えたりとかはしていない。やはり余計なことをすると、余計な作業も増えてしまうってわけか。。。
まあ、スキルアップしたと考えればそれもまたよし。
さらに追記(2021.05.26)
チュートリアルサイトの場合、大抵は新規作成から入るので、
ほぼxamppの中のhtdocsというフォルダにphpファイルが作られてその中だとデバッグなり、実行だったりもできる。
しかし、たとえば、GitHubなど他からクローンで持ってきたフォルダはC:¥直下においたりなどして、htdocsの中に入れていなかったりして、その中で実行しようとしても絶対に実行できない。
したがって、htdocsのフォルダの中に開発したいやつをクローンで持ってきたらいいことになる。
ここに気づかず、調べたりして右往左往してた。ガッデム。
でもここで疑問。
たとえばhtdocsじゃない他のフォルダに置きたい場合、設定はどうすればいいのだろうか?
今は時間がないので、ひとまず疑問を書いておく。
↧