Software Engineer and Web Developer's Diary

1年後の自分に向けて

Mac 10.6.2 への apache 2.2.9 と php 5.3.1 のインストール

mac には /usr/local ディレクトリがないのでまず作成する。

[code] sudo mkdir /usr/local sudo mkdir /usr/local/src sudo mkdir /usr/local/apache sudo mkdir /usr/local/php sudo chmod 777 /usr/local/src [/code]

次に apache のインストール。

[code] cd /usr/local/src wget http://archive.apache.org/dist/httpd/httpd-2.2.9.tar.gz tar xzvf httpd-2.2.9.tar.gz cd xzvf httpd-2.2.9 ./configure --prefix=/usr/local/apache/httpd-2.2.9 make sudo make install

cd /usr/local/apache/ sudo ln -s /usr/local/apache/httpd-2.2.9 current [/code]

gd を利用するのに libpng がいるので port でインストール。

[code] sudo port install libpng [/code]

php の make でエラーになったので iconv.c を編集する http://d.hatena.ne.jp/hetima/20071028/1193576377

[code] vi /usr/local/src/php-5.3.1/ext/iconv/iconv.c iconv_open を libiconv_open に、 iconv_close を libiconv_close に置換する。 [/code]

php のインストール

[code] cd /usr/local/src wget http://jp.php.net/get/php-5.3.1.tar.gz/from/this/mirror tar xzvf php-5.3.1.tar.gz cd xzvf php-5.3.1 ./configure --prefix=/usr/local/php/php-5.3.1 --with-apxs2=/usr/local/apache/current/bin/apxs --with-pdo-mysql=/opt/local/lib/mysql5 --with-gd --with-zlib --with-xsl --enable-mbstring --with-png-dir=/usr/X11 make [/code]

で、ここで行き詰まった。 make で下記エラーが発生して、コンパイルできない。

[code] Undefined symbols: "iconv_close", referenced from: do_convert in gdkanji.o "iconv", referenced from: do_convert in gdkanji.o "iconv_open", referenced from: do_convert in gdkanji.o ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [libs/libphp5.bundle] Error 1 [/code]

iconv が駄目そうなので --without-iconv オプションを付ける。ついでに freetype も入れる。 http://bugs.php.net/bug.php?id=49267

[code] ./configure --prefix=/usr/local/php/php-5.3.1 --with-apxs2=/usr/local/apache/current/bin/apxs --with-pdo-mysql=/opt/local/lib/mysql5 --with-gd --with-zlib --with-xsl --enable-mbstring --with-png-dir=/usr/X11 --without-iconv --with-freetype-dir=/usr/X11 [/code]

これでなんとかコンパイルできた。 試してないけど以下のような記事もあった。

http://d.hatena.ne.jp/brtRiver/20090911/1252703372

あと /usr/local/php/current/bin/php がないのでシンボリックリンクを張って作る

[code] sudo ln -s php.dSYM php [/code]