2012年3月3日土曜日

PHP5.4のビルトインサーバ起動メモ

PHP5.4のビルトインサーバを使ってみたのでまとめてみました
なお、Windows7のVirtualBox上で動かしているUbuntu11.10で動作確認しました。
1.まずはPHP5.4をインストール
configureする時にapxsとか気にするな!cliさえあればWEBサーバ使えるから!
開発機ではビルトインサーバ上でサクサク作って本番機はApacheとかね!
ちなみにUbuntu11.10で動作確認しました。


2.インストールが終わったら、とりあえず以下にパスを通しとけ!
パスを通しとけば何かと便利なのでやっぱり通しておきましょう
PHPインストールディレクトリ/bin/

ちなみに、makeだけしとけば、make installしなくても、sapi/cliにパスを通せばOK。
どっちでもお好みで。


3.ビルトインサーバ起動!
これを待ってました!Apacheのインストールとか設定とか・・・もううんざり!
PHP5.4からは簡易WEBサーバが標準搭載されました。
実行するのはこんなに簡単!

・どこでもいいから、phpinfo()を書いたindex.phpを作成
・同じ場所で以下を実効
php -S localhost:8080
・ブラウザでhttp://localhost:8080/index.phpにアクセス!


4.DocumentRootはここだよ!
上述のコマンドだと、カレントディレクトリがDocumentRootになるとのこと。
DocumentRootを指定するには以下のコマンドでOK
php -S localhost:8080 -t [DocumentRootのフルパス]


5.php.iniはここだよ!
これまた開発時にいろいろな環境でphp.iniを切り替えたいというときに便利!
起動時に以下のように使用するphp.iniを指定できます。
php -S localhost:8080 -c [php.iniのフルパス]

php.iniのパスが間違っていたりしても、エラーにはならずに単純に読み込まれずにビルトインサーバが起動する。
ちなみに、php.ini-developmentを使用すると、ビルトインサーバが吐き出すログ(コンソール)に色が付いてテンション上がる。


6.まとめ
ドキュメントルート、php.iniの場所を指定するとこんな感じ
php -S localhost:8080 -t /home/k-kuwana/myDocumentRoot -c /home/k-kuwana/php.ini


7.Apacheのmod_rewriteとかっぽいのはどうするの?
そういうのはPHPスクリプトで制御するらしい。
書き方はまだ分からないけど、とりあえずビルトインサーバ起動時に以下のように指定してあげる?
php -S localhost:8080 builtin-server.php

0 件のコメント: