Ubuntu 9.0.4 へ PHP5.3.0 動作環境を作る
先日VirtualBox3.0.1 へ セットアップした Ubuntu9.0.4 に PHP5.3.0をビルドする。
apache, php, mysql は Ubuntuのセットアップ時にインストールしておいたものとする。
phpはデフォルトの状態だと、5.2.6がインストールされていた。
apache, php, mysql は Ubuntuのセットアップ時にインストールしておいたものとする。
phpはデフォルトの状態だと、5.2.6がインストールされていた。
インストールログ
とりあえずまっさらなUbuntuに実行する事をまとめておくまずは開発環境(以下全てsudo権限で実行)
% apt-get update % apt-get install build-essential
参考にしたアシアルさんのブログをもとに、libxml2インストールを先に行う
% cd /usr/lib % ln -s libxml2.so.2 libxml2.so % aptitude install libxml2-dev
apache2のモジュールとして動かしたいので、apxs2モジュールをインストール
% apt-get install apache2-prefork-dev
※以下も参照
% apache2 -V
で、表示される内容のうち、
Server MPM
の値が、「worker」だったら、
% apt-get install apache2-threaded-dev
を実行する。
今回は「prefork」だったので、先の方法でインストールした。
PHP5.3.0 落としてくる
% cd /usr/local/lib % wget http://jp2.php.net/get/php-5.3.0.tar.gz/from/jp.php.net/mirror % tar zxvf php-5.3.0.tar.gz % cd ./php-5.3.0
インストール(configureオプションは適宜…)
% ./configure --prefix=/usr/local/lib/php --with-apxs2=/usr/bin/apxs2 --enable-pcntl --enable-mbstring --enable-mbregex --enable-zend-multibyte --with-mysql --with-pear=/usr/local/lib/php % make % make install
ここで、make install でエラー
apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file.. apxs:Error: At least one `LoadModule' directive already has to exist.. make: *** [install-sapi] エラー 1
このような事を言われるので、
vi /etc/apache2/httpd.conf
で、中身は空の状態なので、
#dummy LoadModule hoge hoge.so
等とダミーのLoadModule情報を書いておく。
追記:困った事
何度かconfigureオプションを変更して、makeを繰り返してたら、make installした後のapache restartで以下のようにコケた。* Restarting web server apache2 apache2: Syntax error on line 185 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/local/lib/php-5.3.0/libs/libphp5.so into server: /usr/local/lib/php-5.3.0/libs/libphp5.so: undefined symbol: zend_parse_parameters
困ってしまって相談。id:ykw氏に手助けして頂いた(ykw++)。
どうやら、こういう事らしい。
2008-11-06
初歩的な事なんだろうけど、makeした後に再度コンパイルしなおす時は、
% make distclean
しないとおかしな事になる、という覚書。