ServersMan@VPS PHP 5.3.3 で BlueOnyx を使う


Twitter で「PHP を最新にしたら BlueOnyx が使えなくなった」という嘆きをよく見かけるので、PHP 5.3.3 + BlueOnyx の組み合わせで動くようにするためのまとめです。結果的に MySQL もバージョンアップが必要です。

  • BlueOnyx 内の全機能で動作確認したわけではないので、一部の機能は使えない可能性があります。
  • DTI でも保証外なので自己責任で試してください。
  • MySQLも 5.0.77 → 5.1.50 へ Update が必要です。
  • 各作業は root で実施してください。

PHPバージョンアップ前

MySQLのバージョン

mysql --version
mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1

PHPのバージョン

php -version
PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05) 
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
    with the ionCube PHP Loader v3.1.31, Copyright (c) 2002-2007, by ionCube Ltd.

PHP 5.1.6 + MySQL 5.0.77 です。
http://VPSのIPアドレス へアクセスすると、以下の画面になり BlueOnyx へログインできます。

・ユーザ名:admin
・パスワード:管理者用パスワード
・ログイン

5.3.3 へ バージョンアップする対象を調べる

現在、5.1.6 になっているものをリストアップしてみました。

yum info php* | egrep "Version|Name|Repo"
# Version が 5.1.6 + Repo が installed なモジュール
php
php-cli
php-common
php-devel
php-gd
php-imap
php-mbstring
php-mysql
php-pdo

PHP 5.3.3 へバージョンアップ

リポジトリ追加

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-8.el5.remi.noarch.rpm
rpm -Uvh remi-release-5-8.el5.remi.noarch.rpm epel-release-5-4.noarch.rpm

前の手順でピックアップしたモジュールをUpdate・・・ではなく、mysql を Update します。
※ phpを先に Update しようとすると、mysql のライブラリでコンフリクトを起こして進めません。

yum --enablerepo=remi,epel update mysql

ずらっと関連モジュールが表示されるので、そのまま y で Update します。

おまけ ionCube について

/etc/php.d/ioncube.ini の zend_extension に指定されている ioncube_loader_lin_5.1.so が PHP5.3 にすると使えなくなるようで、PHP実行時に以下のようなエラーを吐くようになります。

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

ちょっと気になったので調べてみると、ここに説明がありました。
http://www.asial.co.jp/ioncube/

Accelerator(実行速度アップ) と Encoder(ソース暗号化)の2種類があるようで、ここで使われているのは、Encoderのようです。
PHP5.3でもこれを使いたければ以下の方法で使えるようです(タブン…)。

1. 以下にブラウザでアクセス

http://www.asial.co.jp/ioncube/encoder/downloading.php?operating_system=lin_x86&loader=tar.gz

2. [こちらをクリック] をクリックして ioncube_loaders_lin_x86.tar.gz をダウンロード
3. ダウンロードした ioncube_loaders_lin_x86.tar.gz を scp などで VPS にアップロード
4. 解凍してコピー

tar xzvf ioncube_loaders_lin_x86.tar.gz
cp ioncube/ioncube_loader_lin_5.3* /home/solarspeed/ioncube/

5. 設定ファイル書き換え

vi /etc/php.d/ioncube.ini 
; Enable IonCube extension module
zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.3.so
# ↑使わない場合は、; をつけてコメントアウトしちゃえばいいです

動作確認

PHPのバージョン

php -version
PHP Warning:  Directive 'safe_mode' is deprecated in PHP 5.3 and greater in Unknown on line 0
PHP 5.3.3 (cli) (built: Jul 22 2010 16:41:20) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

※ safe mode のエラーが出てます。デフォルトでは、safe mode が on になっていますが、PHP5.3から safe mode が非推奨になったためのようです。
※ safe mode を切るには、BlueOnyx へログイン→左メニューから「セキュリティ」→「PHPの設定」→「Safe Mode: OFF」にして「保存」します。

MySQLのバージョン

mysql --version
mysql  Ver 14.14 Distrib 5.1.50, for redhat-linux-gnu (i686) using readline 5.1

ピックアップした php関連モジュールが Update されているか確認

yum info php php-cli php-common php-devel php-gd php-imap php-mbstring php-mysql php-pdo | egrep "Name|Version|Repo"
Name       : php
Version    : 5.3.3
Repo       : installed
Name       : php-cli
Version    : 5.3.3
Repo       : installed
Name       : php-common
Version    : 5.3.3
Repo       : installed
Name       : php-devel
Version    : 5.3.3
Repo       : installed
Name       : php-gd
Version    : 5.3.3
Repo       : installed
Name       : php-imap
Version    : 5.3.3
Repo       : installed
Name       : php-mbstring
Version    : 5.3.3
Repo       : installed
Name       : php-mysql
Version    : 5.3.3
Repo       : installed
Name       : php-pdo
Version    : 5.3.3
Repo       : installed

ブラウザで BlueOnyx へアクセスしてみます。
http://VPSのIPアドレス

・ユーザ名:admin
・パスワード:管理者用パスワード
・ログイン

普通にログインできました。

一通り、左メニューから各画面開いてみましたが、特に問題なく動いているようです。
phpMyAdmin も MySQL を起動後に普通に表示されます。

※ 普段、BlueOnyx 使わないので、ろくな確認できずスイマセンw

2 Responses to ServersMan@VPS PHP 5.3.3 で BlueOnyx を使う

  1. […] PHP環境が古い。以下の情報を見つけ、実際にやってみる。 Mysql:5.0.77、PHP:5.1.6 […]

  2. […] ServersMan@VPS PHP 5.3.3 で BlueOnyx を使う […]

コメントを残す

メールアドレスが公開されることはありません。

Top