株式会社レップワン運営サイト
株式会社レップワン
ネットワークインフラに特化したIT技術者の常駐サービスを提供しています。企業情報システムのノンストップ運用を支えています。
Replog!株式会社レップワン代表 福田兼児のブログです
株式会社レップワン代表 福田兼児のブログです。
Replog!株式会社株式会社レップワン マネージャーによるブログです
株式会社レップワン マネージャーによる公式ブログです。
Oneway Good Communication from Osaka Japan.
大阪近郊のおすすめ情報を英語で発信しています。
カテゴリー/Replog!byStaff

最新エントリー/Replog!byStaff

バックナンバー/Replog!byStaff

Mar
07
2010

APC を PECL でインストールする @CentOS Laboratory 【山澤】

山澤です。

CentOS Laboratory シリーズ始めます。テキトーにテーマ決めて CentOS で遊ぼうって企画です。


第 1 回目は、APC のインストールについて。

仕事で APC インストールの作業依頼があったので、検証も兼ねて色々と実験した結果を書いていきます。まずは PECL を使ってインストールする方法を試してみます。


そもそも APC とか PECL って何?って話から。

APC (Alternative PHP Cache) → アクセスの際に生成された中間コードをキャッシュし再利用することで処理を高速化させる PHP の拡張モジュール。

PECL (the PHP Extension Community Library) → C 言語で書かれた PHP 用拡張モジュールライブラリ。登録されている拡張モジュールをネットワーク経由でインストールしたり出来ます。

かなりザックリだけど大体こんな感じ。


つーワケで PECL のインストールからやっていきます。

# yum install php-pear
    :
  Installing     : php-devel                                       [ 8/13]
  Installing     : php-pear                                        [ 9/13]
    :


あとは PECL を使って APC のインストールをするだけですが、gcc / php-devel (phpize) / httpd-devel (apxs) とかが必要みたい。

php-devel は php-pear のインストールに含まれているので、後は gcc と httpd-devel が必要なんだけど、

# rpm -qa | egrep 'gcc|httpd'
libgcc-4.1.2-44.el5
httpd-manual-2.2.3-22.el5.centos
httpd-2.2.3-22.el5.centos

とりあえず両方無い状態で APC のインストールをしてみます。

# pecl install APC
    :
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
ERROR: `/tmp/tmpGDYkyH/APC-3.0.19/configure --with-apxs' failed

C コンパイラが無いって怒られるので gcc をインストールします。

# yum install gcc

で、APC のインストールにリトライします。

# pecl install APC
    :
/tmp/tmp4omX9B/APC-3.0.19/configure: line 3232: apxs: command not found
configure: error: Aborting
ERROR: `/tmp/tmp4omX9B/APC-3.0.19/configure --with-apxs' failed

今度は apxs が無いって怒られるので、httpd-devel をインストールします。

# yum install httpd-devel

で、APC のインストールに再々トライします。

# pecl install APC
    :
Build process completed successfully
Installing '/var/tmp/pear-build-root/install-APC-3.0.19//usr/lib/php/modules/apc.so'
install ok: channel://pecl.php.net/APC-3.0.19
You should add "extension=apc.so" to php.ini

無事、インストール完了したようです。後は php.ini に「extension=apc.so」って書くだけ。念のため拡張モジュールの配置ディレクトリが正しいかどうかも確認しときます。

# cd /etc/

# cat php.ini | grep "extension" | grep -v ";"
extension_dir = "/usr/lib/php/modules"

# cp -ip php.ini php.ini.`date +%Y%m%d`

# ls -l | grep "php.ini"
-rw-r--r--  1 root root   45078  1月 14 07:16 php.ini
-rw-r--r--  1 root root   45078  1月 14 07:16 php.ini.20100307

# echo >> php.ini
# echo '[APC]' >> php.ini
# echo 'extension=apc.so' >> php.ini

# diff php.ini.20100307 php.ini
1221a1222,1224
>
> [APC]
> extension=apc.so

ホントは最後の一行だけあればいいんだけど、こんな感じで編集したら Apache を再起動します。

# /etc/init.d/httpd restart

最後に info.php を作ってモジュールが読み込まれているか確認します。

# cd /var/www/html/

# echo '<?php  phpinfo()  ?>' > /var/www/html/info.php

ブラウザで 「http://【サーバの IP】/info.php」 にアクセスして、

phpinfo.JPG

こんな感じに APC の情報が見みれば完了かな。


次はソースからインストールする方法の実験やります。
2010年3月 7日 コメント(2)トラックバック(0)
このエントリーのトラックバックURL

▼この記事に対するコメント

This weblog appears to get a great deal of visitors. How do you advertise it? It offers a nice unique spin on things. I guess having something real or substantial to talk about is the most important factor.

|投稿者:Wilford Crader|2010年12月13日 16:04|

Please, keep up the awesome work and continue to post topics like this. I am old fan of your page!

|投稿者:Thomas Smith|2011年1月19日 15:30|


コメント投稿
は必須項目です。(メールアドレスは公開されません)
名前
メールアドレス
URL
本文
レップワンスタッフブログ RSS登録