« OS/2のソースコードみてみたい | トップページ | Movable Typeオープンソースで公開へ »

2007年12月13日 (木)

玄箱 - PHP5をソースからインストールしてみる(tidyとかGD入り)

玄箱Proが出て以降、なんとなくやる気がなくなっていた玄箱実験シリーズですが、久々にネタを書きます。最近はpython書くのが楽しくてソフトのインストールとか設定とかは全くやってなかったのでなんだか新鮮です。

ボクは正直言ってPHPは嫌いなほうです。あんまりスマートに書けるイメージがないんですよね。便利なのは便利なんですけどね。でも「PHP書ける?」とか「PHPの仕事なんですが・・・」なんて話はとてもよく伺います。巷にはPHPのシステムがあふれているんですね。そしてメンテナンスをろくにされていないものが実に多い様子。「PHPできますけど、嫌いなんですw」と正直に言っても、たのんますよ~と言われるケースが多いです。システム作ったはいいけど、開発会社と契約が切れたり倒産してたりしてメンテができなくなったという話がほとんど。
そういうのを開けてみると、ソースは決まって最悪ですwそんなんを見てくると余計にPHPのコードに対する印象が悪くなっていくのでした。

まあ、余談はさておき。そんなPHP嫌いにまたPHPのお仕事が来ました。いや、基本的に頼まれたらなんでも受けるんですw
その中で、PHP5のインストール評価をする必要が出てきたのでとりあえずウチの玄箱でやってみることにしました。Debianならaptで簡単にインストールできるんですが、今回はソースコードからインストールする必要があるのであえてmakeでのインストールです。

ついでに、MySQLやらTidyやらを使う必要があったのでその辺のオプションもつけてコンパイルしてみました。ちなみに、PHP5はまだRPMでは配布されていないんですねぇ。ちょっと驚きました。

さて、まずは事前に以下のものをaptでインストールしておきます。
tidy、MySQL、GD、XML、curlをサポートするようにしました。
apache2
apache2-threaded-dev
tidy
libtidy-dev
libgd-dev
mysql
libxml2
libxml2-dev
libcurl
libcurl3-dev

次に、PHPのソースコードをダウンロードしてきます。現行の最新バージョンは5.2.5でした。

ソースを展開します。
---
# tar xzvf /home/user/php-5.2.5.tar.gz
# cd php-5.2.5

---

configureします。
上記に加えてmbstring関連のオプションも含めました。
http://d.hatena.ne.jp/yuhei_kagaya/20070915/1189843852 を参考にさせていただきました。ありがとうございます。
---
# ./configure \
        --with-apxs2=/usr/bin/apxs2 \
        --enable-mbstring=all \
        --enable-mbregex \
        --enable-cli \
        --with-mysql=/usr/local/mysql \
        --with-mysqli=/usr/local/mysql/bin/mysql_config \
        --enable-safe-mode \
        --with-exec-dir=/usr/bin \
        --with-zlib \
        --with-curl=/usr \
        --with-curlwrappers \
        --enable-zip \
        --enable-xml \
        --with-gd \
        --enable-gd-native-ttf \
        --enable-gd-jis-conv \
        --enable-zend-multibyte \
        --with-tidy

---

configureがうまく通ったらmake & make install です。
---
# make
# make install

---

インストールできたら、php.iniを設定します。
---
# cp -p /home/user/php-5.2.5/php.ini-dist /usr/local/lib/php.ini
# vi /usr/local/lib/php.ini

---
[php.ini]

expose_php=off
error_reporting=E_ALL | E_STRICT
display_errors=on
log_errors=on
log_errors_max_len=4096
error_log= php5_error.log
register_long_arrays=off
register_argc_argv=off
magic_quotes_gpc=off
default_charset="UTF-8"
allow_url_include=off
session.use_only_cookies=1
session.gc_divisor = 1000
session.bug_compat42 = 0
session.entropy_length = 32
session.hash_function = 1
date.timezone = "Asia/Tokyo"

http://wiki.ohgaki.net/index.php?PHP%2Ftips%2F%BF%E4%BE%A9php.ini%C0%DF%C4%EA
などを参考にしながら、上記のようにパラメータを設定してみました。ありがとうございます。
"display_errors=on"の部分は開発環境を意識しましたが、運用環境ならoffにすべきです。
mbstring関係は環境に合わせて設定するといいです。

設定が終わったらapache2をリロードしてphpinfoで設定を確認してみます。
---
# /etc/init.d/apache2 reload
# touch /var/www/phpinfo.php
# vi /var/www/phpinfo.php

---
[phpinfo.php]

<? phpinfo(); ?>


正常に表示されました。
Php5phpinfo20071213

特に難なくという感じでした。
この評価をもとにシステム開発環境にもインストールできそうです。

まあ、せっかく玄箱に入れたことですし、PHP5もちょこっとやってみましょうかね。4ばっかり書いてきたしね。

|

« OS/2のソースコードみてみたい | トップページ | Movable Typeオープンソースで公開へ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/125677/9384609

この記事へのトラックバック一覧です: 玄箱 - PHP5をソースからインストールしてみる(tidyとかGD入り):

« OS/2のソースコードみてみたい | トップページ | Movable Typeオープンソースで公開へ »