CentOS 5.7 に PHP5.3.8 をソースコードからインストールしたので、手順をメモ。
PHPのアンインストール
まず、ソースコードからPHPをインストールする前に、CentOSにデフォルトでインストールされているPHPをアンインストールします。
# php -v
PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:46)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
# yum remove php-*
# php -v
-bash: /usr/bin/php: そのようなファイルやディレクトリはありません |
# php -v
PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:46)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
# yum remove php-*
# php -v
-bash: /usr/bin/php: そのようなファイルやディレクトリはありません
PHPのソースコードをダウンロード・展開する
・DLサイト:PHP: Downloads
# cd /usr/local/src
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# tar zxvf php-5.3.8.tar.gz
# cd php-5.3.8 |
# cd /usr/local/src
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# tar zxvf php-5.3.8.tar.gz
# cd php-5.3.8
./configure \
--enable-mbstring \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--enable-pdo \
--with-pdo-mysql=/usr/local/mysql \
--enable-xml |
./configure \
--enable-mbstring \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--enable-pdo \
--with-pdo-mysql=/usr/local/mysql \
--enable-xml
■ エラー
configure: error: xml2-config not found. Please check your libxml2 installation. |
configure: error: xml2-config not found. Please check your libxml2 installation.
libxml2(本体)と libxml2-devel(開発ツール)をインストールすると解決しました。
yum install -y libxml2
yum install -y libxml2-devel |
yum install -y libxml2
yum install -y libxml2-devel
PHPが正常にインストールされていることを確認します。
# /usr/local/bin/php -v
PHP 5.3.8 (cli) (built: Nov 2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies |
# /usr/local/bin/php -v
PHP 5.3.8 (cli) (built: Nov 2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
PHPのPathを通す
# vi ~/.bashrc
PATH="$PATH":/usr/local/bin/php |
# vi ~/.bashrc
PATH="$PATH":/usr/local/bin/php
# php -v
PHP 5.3.8 (cli) (built: Nov 2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies |
# php -v
PHP 5.3.8 (cli) (built: Nov 2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
・ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」
PHPの設定
■ php.ini のコピー
# cp -p /usr/local/src/php-5.3.8/php.ini-development /usr/local/lib/php.ini |
# cp -p /usr/local/src/php-5.3.8/php.ini-development /usr/local/lib/php.ini
※コピー先は /usr/local/lib/php/php.ini ではなく、/usr/local/lib/php.ini なので注意
■ php.ini の編集
# vi /usr/local/lib/php/php.ini |
# vi /usr/local/lib/php/php.ini
[PHP]
output_handler = mb_output_handler
expose_php = On
default_charset = "UTF-8"
[Date]
date.timezone = Asia/Tokyo
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none; |
[PHP]
output_handler = mb_output_handler
expose_php = On
default_charset = "UTF-8"
[Date]
date.timezone = Asia/Tokyo
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
【参考】
・PHP: INIファイル の扱いに関する変更 – Manual
・CentOS/PHP/PHP5/設定 – ひつじ帳
・CentOS 再構築記録13th php.ini 設定を見直す(´・ω・) ス|WEB系技術電脳日記
・PHPの日付関数でWarningエラー – ema725の日記
・自宅サーバー(Windows+Apache)へのPHPインストール
Apacheとの連携
まず、httpd.conf の の中に下記の内容を追記して、phpを有効にします。
# vi /usr/local/apache2/conf/httpd.conf |
# vi /usr/local/apache2/conf/httpd.conf
<IfModule mime_module>
# ...
# php conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule> |
<IfModule mime_module>
# ...
# php conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
次に、DirectoryIndex の行に index.php を追記します。
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule> |
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
httpd.conf の編集後、Apacheを再起動させます。
PHPの動作確認
Apacheのドキュメントルートにテスト用のPHPファイルを作成して、phpinfo メソッドを呼び出すだけの内容を入力して保存します。
# vi /usr/local/apache2/htdocs/phpinfo.php |
# vi /usr/local/apache2/htdocs/phpinfo.php
ブラウザから確認するために、ifconfigコマンドで IPアドレスを確認します。
# ifconfig
eth0 Link encap:Ethernet HWaddr D2:9B:E2:9A:9D:14
inet addr:192.168.16.130 Bcast:192.168.128.255 Mask:255.255.255.0
... |
# ifconfig
eth0 Link encap:Ethernet HWaddr D2:9B:E2:9A:9D:14
inet addr:192.168.16.130 Bcast:192.168.128.255 Mask:255.255.255.0
...
ブラウザから http://192.168.16.130/phpinfo.php にアクセスして、Apache上でPHPが動作するか確認します。
「PHP Version 5.3.8」という見出しの画面が表示されればOKです。
Apache の httpd.conf を編集して、サーバにアクセス時のルートを var/www に変更します。
# vi /usr/local/apache2/conf/httpd.conf |
# vi /usr/local/apache2/conf/httpd.conf
DocumentRoot "/usr/local/apache2/htdocs"
↓(変更する)
DocumentRoot "/var/www/html" |
DocumentRoot "/usr/local/apache2/htdocs"
↓(変更する)
DocumentRoot "/var/www/html"
その他、”/usr/local/apache2/” を “/var/www/” に変更します。
以上です。
参考情報
・古い php のアンインストールと php 5.3 のインストール – Debian GNU/Linux 3.1 on PowerMac G4