PHP5.1.2にeAccelerator0.9.5-beta2をインストール
PHP (55 items)
2006年04月25日
PHPの処理速度向上の為に、できればアクセラレータを入れたいもんです。
そのアクセラレータの中で有名な”eAccelerator”ですが、PHP5.1.2に対応されているeAccelerator0.9.5(beta2版)が2006-4-11にリリースされたようで早速インストールしてみた。
※Linux(Fedora Core 4)、apache2.0環境。
そのアクセラレータの中で有名な”eAccelerator”ですが、PHP5.1.2に対応されているeAccelerator0.9.5(beta2版)が2006-4-11にリリースされたようで早速インストールしてみた。
※Linux(Fedora Core 4)、apache2.0環境。
まずは、”Release 0.9.5 beta2”からダウンロード。
以下、コードを打ってインストール。
ここまでは、バージョン0.9.3で経験済なので問題なくいきましたが、apache再起動後に”Service Temporarily Unavailable”のエラーが。。
エラーログから色々調べると、下記サイトのように共有メモリ設定値がオーバーしてたみたいで。。
で、eaccelerator.shm_sizeを修正しapache再起動。
phpinfoで確認すると、”eAccelerator v0.9.5-beta2”の文字を確認。これでインストール成功。
更に確認という事で、これは0.9.3でもあったeAccelerator付属の”eaccelerator.php”を呼び出して確認すると、、、「eAccelerator is not installed」の文字が。。
あれっ、インストールできてない??とあたふたし小一時間調べると、”eaccelerator.php”はセキュリティを考慮してないので、どうも0.9.5あたりから”eaccelerator.php”を止め、”control.php”を使用して確認する模様。
”control.php”はダウンロードファイル内にありますので、そいつを呼び出す、、、・・が、これも”control.php”を置く場所によっては、すんなりいかない。”control.php”を修正する場合もあるかも。。
以下、”control.php”の初期処理部抜粋。
$userや$pw、$_SERVER['PHP_AUTH_USER']や$_SERVER['PHP_AUTH_PW']の絡みです。
ちなみに、”eaccelerator.php”での「eAccelerator is not installed」の件ですが、このソースからもわかるように、function”eaccelerator”がfunction”eaccelerator_info”に名前も変わってるようですね。
そんなこんなで、意外と四苦八苦してインストール完了しました。
以下、コードを打ってインストール。
tar jxfv eaccelerator-0.9.5-beta2.tar.bz2
cd eaccelerator-0.9.5-beta2
export PHP_PREFIX="/usr/local"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install
ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so /usr/local/lib/php/extensions/eaccelerator.so
ここまでは、バージョン0.9.3で経験済なので問題なくいきましたが、apache再起動後に”Service Temporarily Unavailable”のエラーが。。
エラーログから色々調べると、下記サイトのように共有メモリ設定値がオーバーしてたみたいで。。
eAccelerator トラブルシューティング - Can not create shared memory area in Unknown on line 0
カーネルの共有メモリ制限(デフォルト32MB)を超えて、eaccelerator.shm_size を設定したのが原因でした。
php.ini で
eaccelerator.shm_size=32
・・・・
で、eaccelerator.shm_sizeを修正しapache再起動。
phpinfoで確認すると、”eAccelerator v0.9.5-beta2”の文字を確認。これでインストール成功。
更に確認という事で、これは0.9.3でもあったeAccelerator付属の”eaccelerator.php”を呼び出して確認すると、、、「eAccelerator is not installed」の文字が。。
あれっ、インストールできてない??とあたふたし小一時間調べると、”eaccelerator.php”はセキュリティを考慮してないので、どうも0.9.5あたりから”eaccelerator.php”を止め、”control.php”を使用して確認する模様。
”control.php”はダウンロードファイル内にありますので、そいつを呼び出す、、、・・が、これも”control.php”を置く場所によっては、すんなりいかない。”control.php”を修正する場合もあるかも。。
以下、”control.php”の初期処理部抜粋。
if (!function_exists('eaccelerator_info')) {
die('eAccelerator isn\'t installed or isn\'t compiled with info support!');
}
/** config **/
$user = "admin";
$pw = "eAccelerator";
/** /config **/
/* {{{ auth */
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_USER']) ||
$_SERVER['PHP_AUTH_USER'] != $user || $_SERVER['PHP_AUTH_PW'] != $pw) {
header('WWW-Authenticate: Basic realm="eAccelerator control panel"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
/* }}} */
$userや$pw、$_SERVER['PHP_AUTH_USER']や$_SERVER['PHP_AUTH_PW']の絡みです。
ちなみに、”eaccelerator.php”での「eAccelerator is not installed」の件ですが、このソースからもわかるように、function”eaccelerator”がfunction”eaccelerator_info”に名前も変わってるようですね。
そんなこんなで、意外と四苦八苦してインストール完了しました。
前の記事 次の記事
この記事に関連した過去記事一覧は画面下にあります。
Comments
コメントは、まだ書かれていません
Add Comments
Trackback
Project MultiBurst wrote:
eAcceleratorでPHPを高速化:
このブログはPHP化しているわけですが、 高速化するものを発見しました。 「eAccelerator」 これは同様のPHPのキャッシュプログラム、 Turck ...
2006年07月08日 22時22分50秒
Trackback URL
http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=577
