さくらインターネットの共用サーバーにAPCインストールを試行したのだが、どうしても有効にならず、諦めようと思ったときに動作できてしまったのでメモ。
スポンサードリンク
ダウンロード
インストール
※さくらインターネットへのSSH 接続につていはこちら
作業ディレクトリ作成
%cd $home %mkdir src %cd src/
ダウンロードと解凍
%wget http://pecl.php.net/get/APC-3.1.9.tgz %tar zxvf APC-3.1.9.tgz
./configure と gmake
%cd APC-3.1.9 %phpize %./configure %gmake Libraries have been installed in: /home/{USER}/src/APC-3.1.9/modules # src/APC-3.1.9/modules/apc.so を確認
php.ini を変更
extension_dir=/home/{USER}/src/APC-3.1.9/modules/ extension=apc.so
phpinfo() で確認できない
と、通常ならばこれで良いはずなのだが、上手く行かなかった。幾つか原因があって、それぞれとてもつまらないものだった。以下試行錯誤。
参考文献の人が成功しているバージョンにする
すでに同じ環境で成功していることがわかっているので、そのバージョンにする。また、別の文献によればAPCのバージョンによって対応できるPHP のバージョンが異なるのだとか。
%wget http://pecl.php.net/get/APC-3.1.6.tgz %./configure %gmake %/usr/local/php/5.3.6/bin/phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 configure.in:3: warning: prefer named diversions config.m4:180: warning: AC_CACHE_VAL(PHP_APC_GCC_ATOMICS, ...): suspicious cache-id, must contain _cv_ to be
PHP バージョン選択
何やらWarning が出ている。更に調べると、さくらインターネットでは標準でphp5.2 が選択されるから、他のバージョンを使う場合は明示する必要があるのだとか。
%./configure --with--php-config=/usr/local/php/5.3.6/bin/php-config configure: WARNING: unrecognized options: --with--php-config %gmake Libraries have been installed in: /home/{USER}/src/APC-3.1.9/modules
やっぱりうまくいかないし、なにかエラーも出ている。じゃぁやはり3.1.6 で再試行。
%cd src/APC-3.1.6 %/usr/local/php/5.3.6/bin/phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 configure.in:3: warning: prefer named diversions configure.in:3: warning: prefer named diversions %./configure --with--php-config=/usr/local/php/5.3.6/bin/php-config configure: WARNING: unrecognized options: --with--php-config
見ないふりしていたWarning を確認すると「unrecognized options: –with–php-config」と言っている。コピペはいけないな・・orz
%./configure --with-php-config=/usr/local/php/5.3.6/bin/php-config %gmake %./configure --with-php-config=/usr/local/php/5.3.6/bin/php-config --enable-apc PHP Warning: PHP Startup: apc: Unable to initialize module Warning: PHP Startup: apc: Unable to initialize module PHP Warning: PHP Startup: apc: Unable to initialize module Warning: PHP Startup: apc: Unable to initialize module
各バージョンで試行するもうまくいかない。–enable-apc を付ける付けないや、php バージョンの組み合わせの試行錯誤。
しかし、ふと思った。
%gmake clean が必要では?
・・終了。
# そういえば相当以前にmake clean で同じ失敗をした経験があった。その経験がある意味生かされたが、まったく進歩していないことが証明された。
参考設定
設定例1
extension_dir=/home/{USER}/src/APC-3.1.8/modules/ extension=apc.so
設定例2
extension_dir=/home/{USER}/src/APC-3.1.8/modules/ extension=apc.so apc.enabled=1 apc.shm_segments=1 apc.optimization=2 apc.shm_size=32 apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.enable_cli=1 apc.cache_by_default=1 apc.mmap_file_mask = /home/{USER}/temp/apc.XXXXXX
動作確認
apc が動作していることが確認できた。
W3 Total Cache でもAPC が選択可能になった。
参考
今回の環境
PHP : /usr/local/php/5.3.6/bin/php PHP_SAPI : cli PHP_VERSION : 5.3.6 ZEND_VERSION: 2.3.0 PHP_OS : FreeBSD - FreeBSD wwwXXXX.sakura.ne.jp 7.1-RELEASE-p16 FreeBSD 7.1-RELEASE-p16 #0: Sat May 21 10:28:47 JST 2011 [email protected]:/usr/obj/usr/src/sys/SAKURA11S i386 INI actual : /home/{USER}/src/APC-3.1.9/tmp-php.ini More .INIs : CWD : /home/{USER}/src/APC-3.1.9 Extra dirs : VALGRIND : Not used
バージョン確認
%php -v PHP 5.3.6 (cli) (built: Aug 31 2011 16:24:03) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
その他
さくらインターネットのレンタルサーバでは、.htaccessで記述して圧縮やブラウザキャッシュを制御するmod_deflate(GZIP圧縮) と mod_expires (静的ファイルの有効期限設定)が使えないという致命的な欠点があります。(「さくらのサーバでのWordPressの高速化 – 俺のメモ」より引用)
有名なWP Super Cacheなどキャッシュ系は、Ktai StyleやWPtouchとの相性が悪いため使用していません。 W3 Total Cacheは相性が良かったのですが、これを起動しているとサーバの応答速度が落ちてしまうことがわかり、結局外しています。 GZIP圧縮をプラグインでしてくれるGZIP outputも応答速度の問題があり、同じく外しました。 Head Cleanerもトライしてみましたが、使用しているテーマとの相性が悪く、これも導入していません。(「さくらのサーバでのWordPressの高速化 – 俺のメモ」より引用)
参考文献
- » update PHP 5.3.2 for Centos 5.2 Blog BBTUNE
- さくらインターネット | ラシカル開発記
- APCいれてみた。 – メモリーの誰得なプログラミング日記
- さくらのレンタルサーバにもAPC
- 技術的なメモとか:PHP:APCでコンパイルキャッシュ
- さくらインターネットの共有サーバに無理やりmingをセットする|あんちょりんのくめちゃん
- SSH について|さくらのレンタルサーバ|さくらインターネット公式サポートサイト
- むしろ WordPress の管理画面が爆速になる APC (Alternative PHP Cache) – Nire.Com
- WordPress + APC でヒット数上位のファイル 7つ – Nire.Com
- PHP(というかWordPress)高速化のためにAPC(Alternatice PHP Cache)入れた | IDEA*IDEA
- さくらのレンタルサーバにPHPの拡張モジュールAPCをインストールする – 大人になったら肺呼吸
- PHPにAPC入れて処理が速くなった様子を数字で把握する
- WP Super CacheとAPCでWordPressを高速化 | Mintlog
- さくらインターネットに APC を導入 – Catastrophenom
- WordPressのパフォーマンスを改善する為に行っている3つの方法 > tnfront.net
- すぐに実践できるWordPressを劇的にスピードアップさせる方法
- さくらのサーバでのWordPressの高速化 – 俺のメモ
- WordPressを高速化するプラグインを作りました | Stocker.jp / diary
- [連載]WordPressでWebサービスを作る方法(8:サーバ選びと高速化) | Stocker.jp / diary
- php APC 入れてみた | ni kvel
- PHPの高速化(2) | phpとmysql が使えるおすすめ格安レンタルサーバー比較
- PHPをAPCで高速化 – netmark.jp
- さくらVPSのWordPressをチューニングして30倍高速化した方法
- VPSでUbuntuサーバー 未完成備忘録 其の三 -PHP設定、suPHPの導入- | Pandora Pocket
将来的な視野
- 今すぐ使える!CDN ~はじめてのCloudFlare(クラウドフレア)導入~ – SINAPlog
- WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc
コメント