phpのインストールについて紹介します。phpのインストールをインストールするためには、apacheが必要になります。apacheのインストールが終わっていない方は、apacheのインストールと初期設定(OS:CentOS 64bitにて)を見てください。
 今回、mysqlも使用しますので、必要な方は、mysqlのインストールと初期設定(OS:CentOS 64bitにて)を見てください。

 phpのインストールを開始する前に、phpで使用するモジュールをインストールします。今回、使いますモジュールは、zlib、jpegsrc、libpng、freetype、gd、curl、libxml2を使います。この辺は、自分の好みに合わせてインストールしてください。
 インストール作業は、「/usr/local/src」で行います。

*>————————————————————————————-<* yumで一括インストール [root@localhost src]# yum install zlib libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gd libxml2 libxml2-devel curl curl-devel zlibのインストール
ダウンロード → http://www.zlib.net/
[root@localhost src]# tar zxvf zlib-1.2.5.tar.gz
[root@localhost src]# cd zlib-1.2.5
[root@localhost zlib-1.2.5]# ./configure
[root@localhost zlib-1.2.5]# make
[root@localhost zlib-1.2.5]# make install

(エラー)
コンパイル時に「/usr/local/lib/libz.a: could not read symbols: Bad value」エラーがでる場合は下記のようにコンパイルした。
[root@localhost zlib-1.2.5]# CFLAGS=”-O3 -fPIC” ./configure

jpegsrcのインストール
ダウンロード → http://www.ijg.org/
[root@localhost src]# tar zxvf jpegsrc.v8b.tar.gz
[root@localhost src]# cd jpeg-8b/
[root@localhost jpeg-8b]# ./configure –enable-shared
[root@localhost jpeg-8b]# make
[root@localhost jpeg-8b]# make install

libpngのインストール
ダウンロード → http://www.libpng.org/pub/png/libpng.html
[root@localhost src]# tar zxvf libpng-1.4.4.tar.gz
[root@localhost src]# cd libpng-1.4.4
[root@localhost libpng-1.4.4]# ./configure
[root@localhost libpng-1.4.4]# make
[root@localhost libpng-1.4.4]# make install

freetypeのインストール
ダウンロード → http://www.freetype.org/download.html
[root@localhost src]# tar zxvf freetype-2.1.10.tar.gz
[root@localhost src]# cd freetype-2.1.10
[root@localhost freetype-2.1.10]# ./configure
[root@localhost freetype-2.1.10]# make
[root@localhost freetype-2.1.10]# make install

gdのインストール
ダウンロード → http://www.boutell.com/gd/
[root@localhost src]# tar zxvf gd-2.0.35.tar.gz
[root@localhost src]# cd gd-2.0.35
[root@localhost gd-2.0.35]# ./configure
[root@localhost gd-2.0.35]# make
[root@localhost gd-2.0.35]# make install
make時にエラーが出ますが問題なくインストールできます。

curlのインストール
ダウンロード → http://curl.haxx.se/download.html
[root@localhost src]# tar zxvf curl-7.21.2.tar.gz
[root@localhost src]# cd curl-7.21.2
[root@localhost curl-7.21.2]# ./configure
[root@localhost curl-7.21.2]# make
[root@localhost curl-7.21.2]# make install

libxml2のインストール
ダウンロード → http://xmlsoft.org/downloads.html
libxml2は、libxml2-develを必要としますので、下記のようにインストールしました。
[root@localhost src]# yum install libxml2-devel

[root@localhost src]# tar zxvf libxml2-2.7.7.tar.gz
[root@localhost src]# cd libxml2-2.7.7
[root@localhost libxml2-2.7.7]# ./configure
[root@localhost libxml2-2.7.7]# make
[root@localhost libxml2-2.7.7]# make install

*>————————————————————————————-<* php本体のインストール
ダウンロード → http://php.net/downloads.php

(注意)phpをダウンロードするとき、phpのバージョンによって使える関数、classの記述の方法が変わります。また、php5.3以上は、対応していないアプリケーションがあるので注意してください。

[root@localhost src]# tar zxvf php-5.2.14.tar.gz
[root@localhost src]# cd php-5.2.14
[root@localhost php-5.2.14]# ./configure –with-libdir=lib64 –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql/ –with-pdo-mysql=/usr/local/mysql/ –enable-mbstring –enable-mbregex –enable-zend-multibyte –enable-gd-native-ttf –with-zlib –with-gd –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/local/lib –with-freetype-dir=/usr/local/lib –with-curl

pdo_mysqlを使わない場合は、「–with-pdo-mysql=/usr/local/mysql/」の部分を削除してください。
64bitのOSにインストールするときは、「–with-libdir=lib64」が必要

PostgreSQLの場合は、下記に変更してください。
「–with-mysql=/usr/local/mysql/ –with-pdo-mysql=/usr/local/mysql/」

「–with-pgsql=/usr/local/pgsql/ –with-pdo-pgsql」

 configureの内容は、上記のインストールしたモジュールによって変更してください。
[root@localhost php-5.2.14]# make
[root@localhost php-5.2.14]# make install

*>————————————————————————————-<* pnpの設定ファイルのコピーと初期設定
[root@localhost php-5.2.14]# cp php.ini-dist /usr/local/lib/php.ini
php-5.3系の場合
[root@localhost php-5.3.6]# cp php.ini-production /usr/local/lib/php.ini
[root@localhost php-5.2.14]# vi /usr/local/lib/php.ini

php.ini の変更箇所

アップロードのファイル容量
post_max_size = 2M

post_max_size = 8M

upload_max_filesize = 2M

upload_max_filesize = 8M

アップロードしたときに「\」が増殖対策
magic_quotes_gpc = On

magic_quotes_gpc =Off

ショートオープンタグの設定
expose_php = On

expose_php = Off

*>————————————————————————————-<* apacheの確認と設定
phpモジュールが生成されているかどうか確認する。
[root@localhost ~]# ls -la /usr/local/apache2/modules/ | grep php
libphp5.so ← あればOK

設定ファイルの変更と確認
[root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf

httpd.conf の変更箇所

55行目辺りにモジュールの設定があるかどうか確認する。
LoadModule php5_module modules/libphp5.so
無ければ追記してください。

350行目辺りに追記する
AddType Application/x-httpd-php .php

apache再起動
[root@localhost ~]# /usr/local/apache2/bin/apachectl restart

*>————————————————————————————-<* ブラウザで確認 確認用ファイルの作成 [root@localhost ~]# vi /usr/local/apache2/htdocs/index.php

ブラウザで確認する
http://127.0.0.1/index.php
phpのインストール確認画面
上記でインストールしたモジュールがあるかどうか確認してください。

*>————————————————————————————-<* (失敗談 gurime_08.gif
 モジュールをインストールする時、64bitのOSだと結構エラーが出ます。また、phpをインストールする時も、configure でエラーが出ます。(32bitのOSだと問題はありません。)そんな時は、yumを使ってモジュールをインストールしてください。

[root@localhost ~]# yum install zlib jpegsrc libpng freetype gd curl libxml2-devel libxml2

(失敗談2
 64bitのOSにphpをインストールしたとき、コンパイル時に下記のエラーが出ました。mysql関係のエラーで、「lib64」のフォルダーが見つかりませんということです。
Cannot find libmysqlclient under /usr/local/mysql/. Note that the MySQL client library is not bundled anymore

対策
[root@localhost ~]# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64