ちょっとだけ注意が必要「さくらインターネット スタンダードプランでPHP5.2.3を使う場合」
さくらインターネット
さくらインターネットのレンタルサーバーでは、 スタンダードプラン(500円/月、5,000円/年)以上で、PHP、Mysqlが使え、シェルログインもあるため、手軽にLAMP環境で動くアプリケーションが試せたり、作成・テスト公開ができます。
ただ、残念なことにPHPのバージョンが4です。アプリケーション等の互換性を考えれば、仕方のないことですが、
PHP5のほうが何かと便利な機能が多く、アプリケーションを作成するなら、使いたいところ・・・。
XREAはallow_url_fopenをoffできない
ここでXREAのレンタルサーバーで、PHP5で稼動するサーバを選択する手段もありますが、
XREAのレンタルサーバは、allow_url_fopenをoffできないため、Santyのようなワームに無防備なのが、ちょっと怖い・・・
(もちろん、プログラムの書き方で対策をとれば、問題ないわけですが、ひとりのプログラマーがそれを知らずにコーディングする可能性を考えたら、システム側で対応すべき事項だと私は考えます。)
さくらインターネットのレンタルサーバ プロプランを使えば、PHPも4と5両方使えるわけですが、4,500円/月・・・
これならもうちょっと頑張って、専用サーバを借りた方が良い気がします。
先人の方々に感謝。PHP5だって使えるさくらインターネット スタンダードプラン
本題
先人の方々がすでにさくらインターネットでPHP5を使うことにトライし、その足跡をブログに残しています。
それをお手本に私もチャレンジしたわけですが、いくつか問題に遭遇したので、その経過を公開します。
問題になりそうなこと
- PHP5.2.3ではハードリンク(もしくはコピー元)が、以前のバージョンと違うので、 注意が必要
- 複数のドメイン運用の場合で、PHP.INIをそれぞれ適用できるようにするには、注意が必要
の2点。
それでは具体的な手順に入ります。
さくらインターネットにPHP5.2.3をインストールする
![]()
シェルにsshなどでログイン して、各ユーザのホームディレクトリにいる状態
1.PHP5.2.3を取得
テンポラリフォルダtemp作成して、2007/7/11現在最新バージョンのPHP5.2.3を取得して、圧縮ファイルを解凍。
<pre><code>% mkdir temp
%cd temp
%wget http://jp.php.net/distributions/php-5.2.3.tar.gz
–17:37:47– http://jp.php.net/distributions/php-5.2.3.tar.gz
=> `php-5.2.3.tar.gz’
(中略)17:37:51 (2.81 MB/s) - `php-5.2.3.tar.gz’ saved [9341653/9341653]
%tar -zxvf php-5.2.3.tar.gz</pre></code>
2.configure
この時–with-config-file-path=$HOME/www/cgi-binと指定しておかないと、複数ドメイン、サブドメインでPHP.INIが使い分けられなくなるので、注意。
%cd php-5.2.3
%./configure –prefix=$HOME/php –with-config-file-path=$HOME/www/cgi-bin –program-suffix=5 –with-pear=$HOME/php/pear –enable-force-cgi-redirect –enable-mbstring=all –enable-mbregex –enable-mbstr-enc-trans –enable-versioning –enable-trans-sid –with-mysql –with-openssl=/usr –with-soap=yes –with-zlib=/usr –with-gd=/usr/local –with-jpeg-dir=/usr –with-freetype-dir=/usr –with-ttf –with-png-dir=/usr –with-curl –enable-calendarThank you for using PHP.
3.make install。
%make
%make install
Installing PHP SAPI module: cgi
Installing PHP CGI binary: /home/あなたのアカウント/php/bin/
(中略)
Installing PDO headers: /home/あなたのアカウント/php/include/php/ext/pdo/
4.ハードリンクを作成(もしくはコピー)します。PHP5.2.3からphp-cgiがcgiモードで動く際の実行ファイルに変更になったので、注意。
%mkdir /home/あなたのアカウント/www/cgi-bin
%ln php-cgi5 /home/あなたのアカウント/www/cgi-bin/php5.cgi
5.インストールが成功したか、念のために確認
%/home/あなたのアカウント/www/cgi-bin/php5.cgi -v
PHP 5.2.3 (cli) (built: Jun 29 2007 18:16:10)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
6.ブラウザからの呼び出しされる際の関連付け
/home/あなたのアカウント/www の下に.htaccessを登録
.php5で呼び出された場合PHP5(.phpは従来どおり)が動くように設定
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php5
または、.phpで呼び出された場合、PHP5が動くように設定
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php
各フォルダの.htaccessで制御できますので、用途にあわせます。
7.php.iniを作成
touch /home/あなたのアカウント/www/cgi-bin/php.ini
vi などで編集。allow_url_fopenもここで指定
テストでphpinfoを表示させて、PHPのバージョンやPHP.INIが正しく取得できているか確認。
複数ドメイン・サブドメインでもPHP5を使用する
複数ドメインやサブドメインを運用している場合は、それぞれに設定が必要です。
ハードリンクからメインのドメインと同様の処理を行います。
以下、wwwフォルダの配下のサブフォルダににエイリアスを設定してサブドメインを割り当てを行っている場合
ハードリンクの作成
ln /home/あなたのアカウント/php/bin/php-cgi5 /home/あなたのアカウント/www/サブドメイン用フォルダ/cgi-bin/php5.cgi
以下、同様の作業になります。
ブラウザからの呼び出しされる際の関連付け
.htaccessは
/home/あなたのアカウント/www/サブドメイン用フォルダ
の下に作成します。
.php5で呼び出された場合PHP5(.phpは従来どおり)が動くように設定
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php5
または、.phpで呼び出された場合、PHP5が動くように設定
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php
php.iniを作成
/home/あなたのアカウント/www/サブドメイン用フォルダ/cgi-bin/php.ini
になりますので、同様に作成。
参考にさせて頂いたサイト
http://blog.hinami.net/?itemid=777
http://phptips.seesaa.net/article/36638035.html
http://www.koruri.com/dielectric/archives/200611/10000591.html
http://www.koruri.com/dielectric/archives/200706/01000707.html
Popularity: 31 %
by redgasuki 





(3 投票, 平均: 4.33 中 5)




[...] 5.2.3からcgi用の実行ファイルはphp-cgiとして生成されるらしい [...]