1. XAMPP を利用する
去年(2007.3)、PHP の開発環境を整えた。あれから一年以上経過したので、再度、開発環境を構築する。
以前は、IDE に PHPEclipse を使い、 Apache, PHP, MySQL を個別にインストールした。今回も個別にインストールすべきか、それとも XAMPP を利用すべきか迷うところ。個別にアプリケーションをインストールすれば、コストはかかるけれど、知識が得られる。
XAMPP の構成は、apache friends - xampp for windows によると、
- Apache 2.2.8 + OpenSSL 0.9.8g
- MySQL 5.0.51a
- PHP 5.2.5 & PHP 4.4.8
- phpMyAdmin 2.11.4
- FileZilla FTP Server 0.9.25
- Mercury Mail Transport System v4.52
[ThinkIT] 第4回:5分でわかるXAMMPの導入事例 (1/3) によると、
多くの企業の担当者たちは、容易なインストールや運用保守の簡易性だけでなく、各種アプリケーションのバージョンをあげる際のマイグレーションのしやすさに着目し、XAMPPの普及が非常に早いスピードで進みました。
特に小規模のサーバが対象であれば、XAMPPのみで運用を行っている企業はかなりの数に上ります。これに対して、クラスタリング構成を取ることの多い中・大規模なサーバ運営ではXAMPPのみで管理を行えなくなってくるため、このような分野では導入数は少なくなりますが、場合によってはステージング用途として利用されることもあります。
また最近では、組み込みパッケージのプラットフォームの一部にXAMPPが使われるケースも見られるようになりました。(太字、下線は引用者による)
今回は、XAMPP を利用することにした。
XAMPP のインストールと起動
apache friends - xampp for windows から、インストーラ をダウンロードして、D:\xampp にインストールした。
しかし、XAMPP コントロールパネルアプリケーションから、Apache を起動しようとしたが、出来ない。(@_@;)
こころあてに・・・ - Apacheが起動しない・・・ XAMPP試してみました によると、
[Apache skype]でネットで検索してみました。原因はひょっとしてSkypeがポート80を占拠 Apacheが起動でエラー←コレですか?マジですか?
Skype において、
- ツール > 設定 > 詳細 > 接続 の「上記のポートの代わり、ポート80を使用」
のチェックをはずした。
再度、Apache を起動してみたら、今度は OK 。
http://localhost にアクセスして動作を確認。
2. IDE に PDT
PHP のための IDE として、Eclipse プロジェクトで開発されている PDT を利用する。
PDT 1.0.2 は、設定がわからず諦めた
PDT Project の Downloads から、R20080103 の pdt-all-in-one-R20080103-win32.zip をダウンロード。
解凍して、起動。適当に PHP Project を作成し、
を参考にして、設定を行った。
- Windows > Preference... > PHP > PHP Excecutables
で、Executable Path を設定。
Name は、XAMPP でインストールした PHP のバージョンを付けておいた。
次に、HP Servers の設定でハマった。EclipseでPHP開発環境を作る - 設定 - delab で説明されている PDT と、自分が使っているもののバージョンが違うため、設定画面が異なっていた。
このサーバーへプロジェクトを公開
という項目がなくなっている代わりに、
Path Mapping
というタブが追加されている。
PHP のソースは D:\develop\workspace 内に置き、Apache が、workspace 内のプロジェクトを認識するような設定を、簡単にできると考えていた。しかし、設定できない。どうやるのだろう?
とりあえず、 D:\xampp\htdocs 内に Eclipse のプロジェクトを置けば、実行できる。しかし、できればソースを htdocs 以下とは別の場所で管理したい。 PHPEclipse を使ったときのように、 Apache の httpd.conf を変更する方法しかないだろうか?
Tutorial: Install a PHP Development Environment with Eclipse PDT, Apache 2.2, PHP 5, MySQL 5, and phpMyAdmin Using XAMPP Lite の 11 で説明されている方法も、
Set the workspace to C:\xampplite\htdocs\webs ,
うーむ... (@_@;) この問題について、考えるのは後回しにしよう。ちなみに上記の同サイト内には、PHPEclipse を使った設定の方法が書かれていた。 QQQ
PDT 1.0 を利用することに
最新のバージョンでは設定がわからなかったので、一つ前のものを使うことにした。これなら、EclipseでPHP開発環境を作る - 設定 - delab の説明に従って設定を行うことができる。
1.0.2 Release Build: R20070917 より pdt-all-in-one-1.0-R20070917-win32.zip をダウンロードしなおして解凍。
- Windows > Preference... > PHP > PHP Excecutables
を設定。
- Preference... > PHP > PHP Servers
で、ワークスペースに作成した PHP ファイルを、 Apache の htdocs 以下の test フォルダにおいて実行できるように設定した。
Server の設定と、PHP の実行の対応付け
Server の設定は複数作成することができる。複数の PHP プロジェクトがあった場合、それぞれ対応付けることができそう。
例えば、hoge という名前の設定を新しく作ったとする。
上記の設定を利用するには、PHP Explorer において、実行したいファイルで
- 右クリック > Run as > Open Run Dialog
を選択する。以下のように、PHP Web Page の設定において、 Server の設定の PHP Server を先ほど作成した hoge にする。
この設定を適用して実行すると、htdocs の hoge フォルダで実行されるようになる。
追記(2008.4.21): [XAMPP+Eclipse PDT] WindowsでPHP開発環境[文系大学的IT系の悲哀] によると、PHP Server のデフォルトの設定に、ドキュメントルートを設定すればいいとのこと。また、Test というプロジェクトを作成し、そこに test.php を置いた場合、デバックをするときの設定として、以下のようにする。
File/Projectのところには/Test/test.phpを指定。Publish files to Serverにチェックを入れて、Publish to:の末尾にTestと加える。そして、Debugをクリック。
これにより、複数の PHP Server の設定を作らなくても、実行時やデバッグ時の設定をするだけで済む。
デバッガのインストール
- Help > Software Updates > Find and Install を選択。
- Search for new features to install を選択して、Next 。
- New Remote Site ボタンを押して、Name: PDT Debugger, URL: http://downloads.zend.com/pdt を入力する。
- PDT Debugger がチェックされていることを確認し、Finish ボタンを押す。
- Update Site Mirrors ダイアログが表示されるので、Automatically select mirrors にチェックをつけて、OK ボタンを押す。
- Updates ダイアログが表示されたら、PDT Debugger にチェックを入れて、Next 。
- 後は、指示に従ってインストールを進める。
しかし、デバッグしようと思い、実行したらエラーがでた。パタッ(o_ _)o~†
[Eclipse PDT (PHP Development Tool)] Q&A? によると、
ZendDebugger 5.2.10 は PDT1.0(R20070917)用.5.2.12 は PDT1.0.2(R20080103)用.
(太字は引用者による)
- Help > Software updates > manage Configuration
を選択し、Zend Debugger Feature 5.2.12.v20071210 を
- 右クリック > uninstall 。
再度、インストール作業をした。インストールの途中の画面で、
Show the latest version of a feature only
のチェックをはずし、Zend Debugger Feature 5.2.10.v20070905 を表示させ、選択してインストールした。
追記(2008.4.21): [Eclipse PDT (PHP Development Tool)] Q&A? によると、
PDT+Zend Executable Debugger Plugin でできること(非推奨)
- PHP ファイルの編集
- 拡張モジュールを一切使用しない PHP ファイルのコマンドベースでの実行・デバッグ
* 拡張モジュールは含まれていないので実使用には耐えません.
そこで、ZendDebugger-5.2.10-cygwin_nt-i386.tar.gz をダウンロードして解凍。
[XAMPP+Eclipse PDT] WindowsでPHP開発環境[文系大学的IT系の悲哀] によると、
中にある5_2_x_compというフォルダを、php-5.2.xという名前にリネームして、適当なところに置く。今回はZend Extension ManagerとZendOptimizerの隣(
C:\xampp\php\zendOptimizer\lib
)にDebuggerというフォルダを作り、その中にリネームしたフォルダを設置。
また、同上の説明に従い、環境に合わせて、D:\xampp\apache\bin\php.ini の [Zend] に以下を追加した。
zend_extension_manager.debug_server_ts = "d:\xampp\php\zendOptimizer\lib\Debugger"
zend_debugger.deny_hosts = all
zend_debugger.allow_hosts = 127.0.0.1/192.168.11.*
zend_debugger.expose_remotely = always
Apache を再起動し、 phpinfo() を見ると、Zend Debugger という設定内容が表示されるようになった。これにより、Eclipse の PDT プロジェクトの PHP ファイルで
- 右クリック > Debug as > PHP Web Page
が動作するようになった。
デバッグの方法
を参考に。
2コメント:
こんなにわかりやすく、自分がつまずいてる
ところを教えてくれて、お礼の言葉もないです。
PHP勉強する前に、環境を整えようと
して、文字化け、バージョン不適合
いままでできてたものまでおかしくなる、、
などで挫折、、今回もこの流れかと思い
ましたが、なんとかこれでできそう!!
ちなみにコードアシスタントが
PDTの最新バージョンでは
毎回ctrl+space をおさなきゃなのも
仕様ですかね><
Zend DebuggerとZendExtenはWindowXpで下記で動きました。
[Zend]
zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
zend_optimizer.enable_loader = 0
zend_optimizer.optimization_level=15
zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:
zend_extension_manager.debug_server_ts = "C:\xampp\php\zendOptimizer\lib\Debugger\php-5.2.x"
zend_debugger.deny_hosts = all
;zend_debugger.allow_hosts = 127.0.0.1/192.168.0.*
zend_debugger.allow_hosts = 127.0.0.1
zend_debugger.expose_remotely = always
コメントを投稿