WindowsにXAMPP + NetBeansでPHP開発環境を簡単に構築する
仕事でWindows(OSは7の64bit)マシンにPHPの開発環境を構築することになりました。
IDEとエディタのどちらで実装するか迷ったのですが、PHP初体験ということでIDEを使うことにしました。
本当はIDEにPhpStormを使いたかったのですが、当然無料のツールだけしか使えないのでNetBeansにしました。
理由としては、ノウハウが多い、公式のドキュメントがしっかりしてる、ネットの評価がけっこう良かったところです。
調べてみると上記以外にも色々あって(知らないのも結構あった)、後は好みの問題かなと思います。
PHPの開発にはPHPとWebサーバー(例えばApache)が必要なのですが、
これらも個別にインストールするより、XAMPPを利用した方が楽チンでした。
XAMPPとはApacheのディストリビューションで、Apacheに加えてPHP、Perl、MySQLなどを一括でインストールすることができます。
読み方はザンプというらしいです。
そんなわけで前置きが長くなりましたが、
XAMPPのインストールからNetBeansでPHP実行可能なところまで構築していきます。
2. XAMPPのインストール
ダウンロードしたexeファイルをクリックします。
いきなりこんなダイアログが出て、ウイルス対策ソフトを入れていると遅くなるとか言ってくるけど、
おかまいなしに「Yes」をクリックします。
この画面で必要なソフトウェアを選択します。
最低限必要なのはPHPとApacheです。それ以外は自由に入れてください。
インストールする先も任意でOKですが、
Windowsだと半角スペースが入っていないパスの方が良いと思います。
チェックボックスにチェックを入れて「Finish」をクリックすると、
XAMPPのコントロールパネルが起動します。
http://localhostにアクセスして以下の画面が表示されたら、Apacheは正常に動作しています。
23:13:08 [Apache] Problem detected! 23:13:08 [Apache] Port 80 in use by "Unable to open process" with PID 4! 23:13:08 [Apache] Apache WILL NOT start without the configured ports free! 23:13:08 [Apache] You need to uninstall/disable/reconfigure the blocking application 23:13:08 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
上記のようなエラーが出た場合は、80番ポートを他のソフトウェアが使用している場合です。
Windowsの場合はIISの可能性が高いと思います。
Apacheが起動するためのポート番号を変更したい場合は、
[XAMPPをインストールしたディレクトリ]\apache\conf\httpd.confをエディタ等で開いて以下を編集します。
58行目付近 #Listen 80 Listen 81 219行目付近 #ServerName localhost:80 ServerName localhost:81
ポート番号を変更した場合はhttp://localhost:81で起動してください。
4 Javaのインストール
ダウンロードしたexeファイルをクリックします。
すべてデフォルトの設定でOKです。
6 NetBeansのインストール
ダウンロードしたexeファイルをクリックします。
すべてデフォルトの設定でOKです。
7 NetBeansしてPHPプロジェクトを作成
NetBeansを起動してメニューの「ファイル」 → 「新規プロジェクト」をクリックします。
カテゴリは「PHP」、プロジェクトは「PHPアプリケーション」を選択して「次へ」をクリックします。
プロジェクト名を入力して、「次へ」をクリックします。
ソース・フォルダは自動的にApache管理下のディレクトリに設定されています。
「終了」をクリックします。
フレームワークを使用したい場合はここでチェックを入れます。
完了するとプロジェクトが作成され、index.phpファイルが自動で開きます。
<?php print "Hello World"; ?>
上記のように実装して保存し、Ctrl + F5をクリックします。
ブラウザが起動して「Hello World」が表示されれば完了です。
次はデバッグの設定やComposerによるパッケージ管理、PostgreSQLとの連携等をやっていきます。