PHP4とPHP5の共存(PHP インストール)


構成

PHP4 と PHP5 を共存させる。
PHP4 は、もともと入っているやつをそのまま残す感じで、PHP5 をソースからインストールする。
PHP4 は常時起動するつもりがないく使いたいときだけ PHP4 を起動させようかなという感じだけど、一応両方起動できるようにする。

※あくまでも参考程度にお願いします。
※バックアップはとっておいたほうがよいと思います

PHP4

  • バージョン
    4.3.9
  • php.ini ファイル
    /etc/php.ini
  • PHP
    $ /usr/bin/php
  • PEAR の情報表示
    $ usr/bin/pear config-show

PHP5

  • バージョン
    5.2.9
  • php.ini ファイル
    /usr/local/lib/php.ini
  • PHP
    $ /usr/local/bin/php
  • PEAR の情報表示
    $ /usr/local/bin/pear config-show


確認

インストールされていなかった場合はインストールする

環境にあわせて適当に設定してください。

$ sudo yum install flex
$ sudo yum install libxml2-devel
$ sudo yum install zlib-devel
$ sudo yum install libpng-devel
$ sudo yum install libjpeg-devel
$ sudo yum install tidy
$ sudo yum install libtidy-devel
$ sudo yum install gd-devel
$ sudo yum install curl-devel
$ sudo yum install freetype-devel

libmcrypt インストール

CentOS5 だと yum install libmcrypt でインストールできたはず。
Sourceforge からファイルを取得してする。

$ tar zxvf mcrypt-2.6.8.tar.gz
$ cd mcrypt-2.6.8
$ ./configure
$ make 
$ sudo make install

libtidy

CentOS5 だと yum install libmcrypt でインストールできたはず。
ソースからインストールしたかっのですが、ファイルが解凍できなくて困ったので、rpm からインストールする。

$ wget http://dev.centos.org/centos/4/testing/i386/RPMS/libtidy-0.99.0-9.20051025.el4.centos.3.i386.rpm
$ wget http://dev.centos.org/centos/4/testing/i386/RPMS/libtidy-devel-0.99.0-9.20051025.el4.centos.3.i386.rpm
$ sudo rpm -ivh libtidy-0.99.0-9.20051025.el4.centos.3.i386.rpm
$ sudo rpm -ivh libtidy-devel-0.99.0-9.20051025.el4.centos.3.i386.rpm


インストール

インストール

$ cd /usr/local/src/
$ wget http://jp2.php.net/get/php-5.2.9.tar.gz/from/jp.php.net/mirror
$ tar zxvf php-5.2.9.tar.gz
$ cd php-5.2.9

$ ./configure --help

$ ./configure
--with-apxs2=/usr/sbin/apxs 
--with-mysql=/usr/local/mysql5 
--with-pdo-mysql=/usr/local/mysql5
--with-pgsql=/usr/local/pgsql 
--with-pdo-pgsql=/usr/local/pgsql
--enable-mbstring 
--enable-zend-multibyte  
--enable-mbregex 
--with-mime-magic 
--with-tidy
--with-curl
--with-zlib
--with-gd
--with-xsl=/usr/lib/
--enable-gd-jis-conv
--enable-gd-native-ttf 
--with-jpeg-dir=/usr/lib/
--with-png-dir=/usr/lib/
--with-freetype-dir=/usr/lib/
--with-mcrypt=/usr/lib/
$ make
$ sudo make install


設定

1) 設定ファイル(php.ini)の作成

サンプルがあるのでコピーして使う。

$ sudo cp /usr/local/src/php-5.2.9/php.ini-dist /usr/local/lib/php.ini 

2) 設定ファイル(php.ini)の修正

PHP5 の php.ini も PHP4 の php.ini も以下のように修正する。

$ sudo vim /usr/local/lib/php.ini
$ sudo vim /etc/php.ini
magic_quotes_gpc = Off
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = Off
mbstring.detect_order = auto

3) 設定ファイル(httpd.conf)の修正

以下のように httpd.conf を修正する。
PHP4 の LoadModule? は、コメントにしておく。

$ sudo vim /etc/httpd/conf.d/php.conf
# PHP4
#LoadModule php4_module modules/libphp4.so
# PHP5
LoadModule php5_module modules/libphp5.so
DirectoryIndex index.php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


使えるネットでの設定

Plesk で作成した各ドメイン毎にPHPのセーフモードと open_basedir の設定がされているので、設定を変更する。
open_basedir については、PHP のマニュアルを参照。
参照:http://jp.php.net/manual/ja/ini.sect.safe-mode.php

1) ドメインの場合

$ sudo vim /var/www/vhosts/ドメイン/conf/vhost.conf
<Directory /var/www/vhosts/ドメイン/httpdocs>
    <IfModule sapi_apache2.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir none
    </IfModule>
    <IfModule mod_php5.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir none
    </IfModule>
</Directory>

2) サブドメインの場合

$ sudo vim /var/www/vhosts/ドメイン/subdomains/サブドメイン/conf/vhost.conf
<Directory /var/www/vhosts/ドメイン/subdomains/サブドメイン/httpdocs>
    <IfModule sapi_apache2.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir none
    </IfModule>
    <IfModule mod_php5.c>
        php_admin_flag engine on
        php_admin_flag safe_mode off
        php_admin_value open_basedir none
    </IfModule>
</Directory>

3) vhost.confの設定を反映

$ sudo /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=ドメイン

4) apache の再起動

$ sudo /etc/init.d/httpd restart


PEAR のアップグレード

PEAR アップグレード

$ sudo pear channel-update pear.php.net
$ sudo pear upgrade PEAR

適当に好きなものをインストール

$ sudo pear install MDB2
$ sudo pear install pear/MDB2#mysql
$ sudo pear install Log
$ sudo pear install Mail_Mime

PEAR の情報表示

$ /usr/local/bin/pear config-show


PHP4 と PHP5 の切り替え

PHP5 から PHP4 にする

以下のような設定にする。

$ sudo vim /etc/httpd/conf.d/php.conf
#LoadModule php5_module modules/libphp5.so
LoadModule php4_module modules/libphp4.so

PHP4 から PHP5 にする

以下のような設定にする。

$ sudo vim /etc/httpd/conf.d/php.conf
LoadModule php5_module modules/libphp5.so
#LoadModule php4_module modules/libphp4.so

apache の再起動

$ sudo /etc/init.d/httpd restart
Counter: 11677, today: 4, yesterday: 0


Comment



Counter: 11677, today: 4, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-24 (火) 14:56:42 (1827d)