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
関連記事




[...] PHP環境が古い。以下の情報を見つけ、実際にやってみる。 Mysql:5.0.77、PHP:5.1.6 [...]
[...] ServersMan@VPS PHP 5.3.3 で BlueOnyx を使う [...]