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
*>————————————————————————————-<*
apacheの確認と設定
phpモジュールが生成されているかどうか確認する。
[root@localhost ~]# ls -la /usr/local/apache2/modules/ | grep php
libphp5.so ← あればOK
設定ファイルの変更と確認
[root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf
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
上記でインストールしたモジュールがあるかどうか確認してください。
*>————————————————————————————-<*
(失敗談 )
モジュールをインストールする時、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