̃Gg[͂ĂȃubN}[Nɒlj

ServersMan@VPS :: PHP5.1.6 を PHP5.3.2 にアップグレード



同時に eaccelerator もインストールする


  • EPEL & Remi パッケージのインストール
% wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
% sudo rpm -Uvh epel-release-5-4.noarch.rpm
% wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
% sudo rpm -Uvh remi-release-5.rpm
% cd /etc/yum.repos.d
% sudo wget http://rpms.famillecollet.com/remi-enterprise.repo
% sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
% sudo yum --enablerepo=remi,epel install php php-gd php-mbstring php-mcrypt php-mysql php-odbc php-pdo php-pear mysql-server mysql-bench
% yum list php
 :
 :
php.i386          5.3.2-2.el5.remi          installed
 :
 :
  • PHP5.3.2 が確認できる


mysql も同時にアップデートする必要があるので、下記コマンドを実行

% sudo yum --enablerepo=remi,epel update mysql\* php\*


% php -v
Failed loading /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so:  /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so: undefined symbol: zend_error_noreturn
PHP 5.3.2 (cli) (built: Apr 27 2010 20:28:18)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 
  • ionCube Loader のロードに失敗しているので、ロードしないように変更する


% sudo vi /etc/php.d/ioncube.ini
; Enable IonCube extension module
zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so

下記のようにコメントアウト

; Enable IonCube extension module
;zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so


% php -v
PHP 5.3.2 (cli) (built: Apr 27 2010 20:28:18)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
  • エラーが出なくなればOK。



eaccelerator のインストール

yum でサクッとインストールする場合はこちら
ServersMan@VPS :: eaccelerator のインストール


  • phpize コマンドがないときは php-devel をインストールする
% sudo yum --enablerepo=remi install php-devel
  • eAccelerator が apache の error_log に以下のようなエラーログを吐く時
eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432 bytes. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.

割り当て可能な共有メモリ(シェアードメモリ)が不足していることが原因で上記エラーになる。
メモリの値を確認し、必要であれば変更する。

  • shmmax の確認
% less /proc/sys/kernel/shmmax

上記確認で数値が表示されても、/etc/sysctrl.conf で kernel.shmmax の設定がコメントアウトされている場合があるので、 /etc/sysctrl.conf の内容を確認します。

  • /etc/sysctrl.conf の確認/変更
% sudo vi /etc/sysctrl.conf
kernel.shmmax = 67108864
  • 今回は 64MB に変更しました。( 67108864 = 64 x 1024 x 1024 )

最後にサーバーの再起動を行い、shmmax の変更を反映させる。
再起動後、apache が正常に起動しているか( or 起動できるか)を確認する。


s 上記の手順を行った後、eaccelerator がインストールされたか確認する

% php -v
PHP 5.3.2 (cli) (built: Apr 27 2010 20:28:18)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator


mbstring / gd / pdo / mysql もインストールしておく

% sudo yum --enablerepo=remi install php-mbstring
% sudo yum --enablerepo=remi install php-gd
% sudo yum --enablerepo=remi install php-pdo
% sudo yum --enablerepo=remi install php-mysql


php.ini

expose_php = Off 



server/serversman_at_vps/setup_php5.3.2.txt