Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

PHPことはじめ

最小限度にPHPせたっぷしてみるよ。

httpd

とりあえずhttpd入れる。シンプルに。

$ wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.2.22.tar.gz
$ tar zxvf httpd-2.2.22.tar.gz
$ cd httpd-2.2.22
$ ./configure --prefix=$HOME/opt/httpd-2.2.22
$ make && make install

PHP with phpbrew

PHP入れる。適当に最小構成(?)で。

$ git clone https://github.com/c9s/phpbrew.git
$ ln -s $HOME/github/phpbrew/phpbrew $HOME/bin/phpbrew # パスの通ったとこにsymlink
$ phpbrew init

.zshrcに:

source $HOME/.phpbrew/bashrc

5.4.3入れてみる。

$ phpbrew install php-5.4.3 +apxs2=$HOME/opt/httpd-2.2.22/bin/apxs +debug +mysql

使う。

$ phpbrew switch php-5.4.3
$ php -v
PHP 5.4.3 (cli) (built: May 11 2012 18:11:11) (DEBUG)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

とりあえず最低限度のhttpd.conf

wordpressを適当に落としてきて、その中に適当にconfディレクトリを作って設定ファイルを置きます。

$HOME/tmp/wordpress/conf/php-5.4.3.conf

Listen       8543
DocumentRoot /Users/antipop/tmp/wordpress

LoadModule php5_module modules/libphp5.4.3.so
AddType application/x-httpd-php .php

httpd起動・停止

$ $HOME/opt/httpd-2.2.22/bin/apachectl -f $HOME/tmp/wordpress/conf/php-5.4.3.conf -k start
$ open http://localhost:8543/index.php
$ $HOME/opt/httpd-2.2.22/bin/apachectl -f $HOME/tmp/wordpress/conf/php-5.4.3.conf -k stop

f:id:antipop:20120511192837p:plain

Yay!

PHP5.4以降

今回入れたのは5.4.3なので、実際にはapache2 + mod_phpを使わなくても、-Sオプションで組み込みのhttpdで起動できたりします。

$ php -S localhost:8543
PHP 5.4.3 Development Server started at Fri May 11 19:33:34 2012
Listening on localhost:8543
Document root is /Users/antipop/tmp/wordpress
Press Ctrl-C to quit.

TODO

  • 設定ファイルとか起動まわりとかイケてないので、いい感じにラップしたい
  • 実際のアプリ動かすのにはもうちょっといろいろ必要だったりするだろうので、その辺はおいおい