ホームページ >バックエンド開発 >PHPチュートリアル >PHPのインストールと使い方を詳しく解説 APC_PHPチュートリアル

PHPのインストールと使い方を詳しく解説 APC_PHPチュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-21 15:06:591037ブラウズ

1. PHPAPC のインストール
インストール パッケージをダウンロードして解凍します:

コードをコピーします コードは次のとおりです:

wget-c http://pecl.php.net/get/ APC-3.1.13 .tgz
tar-zvxf APC-3.1.13.tgz
cdAPC-3.1.13

コンパイルしてインストールします:
コードをコピーします コードは次のとおりです:

wget-c http://pecl.php.net/get/APC-3.1.13.tgz
/usr/local/php/bin/phpize
./configure--enable-apc --enable-mmap -- Enable-apc-spinlocks--disable-apc -pthreadmutex--with-php-config=/usr/local/php/bin/php-config
make
sudomake install

php.ini を変更して以下を追加します:
コードをコピーしますコードは次のとおりです:

extension= "apc.so" ;
;APCsetting
apc.enabled= 1
apc.shm_segments= 1
apc.shm_size= 64M
apc.optimization = 1
apc.num_files_hint= 0
apc.ttl= 0
apc.gc_ttl= 3600
apc.cache_by_default= オン

重启apache或者/usr/local/php/sbin/php-fpmrestart

2. PHPAPC 設定オプション
[APC]
;代替 PHP キャッシュは、PHP 中間コードのキャッシュと最適化に使用されます
apc.cache_by_default=On
;デフォルトですべてのファイルのバッファリングを有効にするかどうか。
;オフに設定し、プラス記号で始まる apc.filters ディレクティブと一緒に使用すると、ファイルはフィルターに一致する場合にのみキャッシュされます。
apc.enable_cli= Off
; CLI バージョンで APC 機能を有効にするかどうかは、テストとデバッグの目的でのみこのコマンドをオンにします。
apc.enabled= On
; APC が静的に PHP にコンパイルされており、それを無効にしたい場合は、これが唯一の方法です。
apc.file_update_protection= 2
;実行中のサーバー上のファイルを変更するときは、アトミック操作を実行する必要があります。
;つまり、最初に一時ファイルに書き込み、次にそのファイルの名前を最終的な名前に変更 (mv) します。
;テキスト エディターや cp や tar などのプログラムはこのように動作しないため、不完全なファイルがバッファリングされる可能性があります。
;デフォルト値 2 は、ファイルにアクセスするときに、変更時間がアクセス時間から 2 秒未満であることが判明した場合、バッファリングは実行されないことを意味します。
;運が悪い訪問者は破損したコンテンツを受け取る可能性がありますが、その悪影響はキャッシュによって拡大されません。
;すべての更新操作がアトミック操作であることを確認できる場合は、0 を指定してこの機能をオフにすることができます。
;IO 操作が多いためにシステムの更新が遅い場合は、この値を増やす必要があります。
apc.filters=
;POSIX 拡張正規表現のカンマ区切りリスト。
;ソース ファイル名がいずれかのパターンに一致する場合、ファイルはキャッシュされません。
; マッチングに使用されるファイル名は、絶対パスではなく、include/require に渡されるファイル名であることに注意してください。
;正規表現の最初の文字が「+」の場合、その式に一致するファイルがキャッシュされることを意味します。
;最初の文字が「-」の場合、一致するファイルはキャッシュされません。 「-」はデフォルト値であり省略可能です。
apc.ttl= 0
;キャッシュ エントリがバッファ内に存在できる秒数。 0 はタイムアウトしないことを意味します。推奨値は7200~36000です。
;0 に設定すると、バッファーが古いキャッシュ エントリでいっぱいになる可能性が高く、新しいエントリがキャッシュされなくなる可能性があります。
apc.user_ttl= 0
; apc.ttl と似ていますが、各ユーザーの推奨値は 7200 ~ 36000 です。
;0 に設定すると、バッファーが古いキャッシュ エントリでいっぱいになる可能性が高く、新しいエントリがキャッシュされなくなる可能性があります。
apc.gc_ttl= 3600
;キャッシュ エントリがガベージ コレクション テーブルに存在できる秒数。
;この値は、キャッシュされたソース ファイルの実行中にサーバー プロセスがクラッシュした場合でも、安全策を提供します。
;ソース ファイルが変更されている場合、古いバージョンに割り当てられたメモリは、この TTL 値に達するまで再利用されません。 。
;この機能を無効にするには、ゼロに設定します。
apc.include_once_override= Off
; Off のままにしてください。そうしないと、予期しない結果が生じる可能性があります。
apc.max_file_size= 1M
;このサイズを超えるファイルのキャッシュを許可しないでください。
apc.mmap_file_mask=
;MMAP サポートが –enable-mmap (デフォルトで有効) を使用して APC 用にコンパイルされた場合、
;ここでの値は、mmap モジュールに渡される mktemp スタイルのファイル マスクです (推奨値は " /tmp /apc.XXXXXX")。
;このマスクは、メモリ マップ領域をファイル バックアップするか共有メモリ バックアップするかを決定するために使用されます。
; ファイルに基づく直接メモリ マッピングの場合は、「/tmp/apc.XXXXXX」 (正確に 6 つの X) に設定します。
;POSIX スタイルの shm_open/mmap を使用するには、「/apc.shm.XXXXXX」に設定する必要があります。
;「/dev/zero」に設定して、匿名でマップされたメモリにカーネルの「/dev/zero」インターフェイスを使用することもできます。
;このディレクティブを定義しないことは、匿名マッピングの使用を強制することを意味します。
apc.num_files_hint= 1000
; Web サーバーに含めたりリクエストしたりできるさまざまなソース ファイルのおおよその数 (推奨値は 1024 ~ 4096)。
; よくわからない場合は、0 に設定してください。この設定は主に数千のソース ファイルを含むサイトに使用されます。
apc.optimization= 0
; 最適化レベル (推奨値は 0)。
; 正の整数値はオプティマイザーが有効であることを示し、値が大きいほどより積極的な最適化が使用されます。
;値を大きくすると速度の改善が非常に限定される可能性がありますが、現在は実験段階です。
apc.report_autofilter= Off
;早期/遅延バインディングの理由により自動的にキャッシュされないすべてのスクリプトを記録するかどうか。
apc.shm_segments= 1
;コンパイラバッファに割り当てられた共有メモリブロックの数 (推奨値は 1)。
;APC が共有メモリを使い果たし、apc.shm_size ディレクティブをシステムで許容される最大値に設定している場合、
;この値を増やしてみることができます。
apc.shm_size= 30
; 各共有メモリ ブロックのサイズ (MB 単位、推奨値は 128 ~ 256)。
;一部のシステム (ほとんどの BSD バリアントを含む) のデフォルトの共有メモリ ブロック サイズは非常に小さいです。
apc.slam_defense= 0
;(このコマンドの使用は禁止されており、apc.write_lock コマンドを使用することをお勧めします)
;サービスを開始しているかファイルを変更しているかにかかわらず、非常に負荷の高いサーバーでは、
;複数のプロセスで同時にファイルをキャッシュしようとすると、競合状態が発生する可能性があります。
;このディレクティブは、キャッシュされていないファイルを処理するときにキャッシュステップをスキップするプロセスの割合を設定するために使用されます。
;たとえば、これを 75 に設定すると、キャッシュされていないファイルが見つかったときに 75% の確率でキャッシュされないことになり、衝突の可能性が低くなります。
;この機能を無効にするには、0 に設定することをお勧めします。
apc.stat= On
;スクリプトの更新チェックを有効にするかどうか。
;このコマンドの値を変更する場合は十分に注意してください。
;デフォルト値 On は、APC がリクエストされるたびにスクリプトが更新されたかどうかをチェックすることを意味します。
;更新された場合は、コンパイルされたコンテンツを自動的に再コンパイルしてキャッシュします。ただし、これを行うとパフォーマンスに悪影響が生じます。
;オフに設定すると、チェックが実行されないため、パフォーマンスが大幅に向上します。
;ただし、更新されたコンテンツを有効にするには、Web サーバーを再起動する必要があります。
;このコマンドは、include/require ファイルにも有効です。ただし、相対パスを使用する場合、APC は include/require するたびにファイルの場所を確認する必要があることに注意してください。
;絶対パスを使用するとチェックがスキップされる可能性があるため、include/require 操作には絶対パスを使用することをお勧めします。

apc.user_entries_hint= 100
;num_files_hint ディレクティブに似ていますが、ユーザーごとに異なります。
;よくわからない場合は、0 に設定してください。

apc.write_lock= On
; 書き込みロックを有効にするかどうか。
;非常に負荷の高いサーバーでは、サービスの開始時でもファイルの変更時でも、
;複数のプロセスが同時にファイルをキャッシュしようとするため、競合状態が発生する可能性があります。
;このディレクティブを有効にすると、競合状態を回避できます。

apc.rfc1867= Off
; このコマンドをオンにした後、直前に
を含む各ファイルフィールドに対して

3. PHP_APC 関数
apc_add
—変数をデータ ストレージにキャッシュします

apc_bin_dump— 指定されたファイルとユーザー変数のバイナリ ダンプを取得します
apc_bin_dumpfile— キャッシュされたファイルとユーザー変数のバイナリ ダンプを出力しますa file
apc_bin_load— ファイルからバイナリ ダンプを APC ファイル/ユーザー キャッシュにロードします
apc_bin_loadfile— ファイルからバイナリ ダンプを APC ファイル/ユーザー キャッシュにロードします
apc_cache_info— APC からキャッシュされた情報を取得しますデータストア
apc_cas — 古い値を新しい値で更新します
apc_clear_cache — APC キャッシュをクリアします
apc_compile_file — すべてのフィルターをバイパスして、バイトコード キャッシュにファイルを保存します。
apc_dec — 保存されている数値を減らす
apc_define_constants — 取得および一括定義用の一連の定数を定義します
apc_delete_file — オペコード キャッシュからファイルを削除します
apc_delete — ユーザー キャッシュから特定の変数を削除します
apc_exists — 特定の変数か特定の変数かを確認します変数が APC に存在します
apc_fetch - キャッシュから保存された変数をフェッチします
apc_inc - 保存されている数値をインクリメントします
apc_load_constants - キャッシュから一連の定数をロードします
apc_sma_info - APC の共有メモリを取得します割り当て情報
apc_store — データ ストアに変数をキャッシュします

4. PHPAPCの使用法
APCキャッシュの使用例(test_apc_cache.php):

コードをコピーします コードは次のとおりです:

error_reporting(E_ALL);
classapcInit {
/**
*Apc キャッシュセットキャッシュ
*キャッシュキー、値、キャッシュ時間を設定します
*@param string $key KEY value
*@param string $value value
*@param string $time キャッシュ時間
*/
publicstatic function set_cache($key, $value, $time = 0) {
if($time == 0) $time = null; //null情况下永久缓存
returnapc_store($key, $value, $time);;
}
/**
*Apcキャッシュ-キャッシュ取得
*KEYでキャッシュデータを取得
*@param string $key KEY value
*/
publicstatic function get_cache($key) {
returnapc_fetch($key);
}
/**
*Apc キャッシュ - キャッシュをクリアします
*memcache からキャッシュを削除します
*@param string $key KEY value
*/
publicstatic関数clear($key) {
returnapc_delete($key);
}
/**
*Apc キャッシュ - すべてのキャッシュをクリア
*この機能は推奨されません
*@return
*/
publicstatic関数clear_all() {
returnapc_clear_cache(); //明確缓存
}
/**
*APCキャッシュが存在するか確認
*@param string $key KEY value
*/
publicstatic function assigns($key) {
returnapc_exists($key);
}
/**
*フィールド自動インクリメント - カウントに使用
*@param string $key KEY value
*@param int $step 新しく追加されたステップ値
*/
publicstatic function inc($key, $step) {
returnapc_inc($key, (int) $step);
}
/**
*フィールドデクリメント - カウントに使用
*@param string $key KEY value
*@param int $step 新しいステップ値
*/
publicstatic function dec($key, $step) {
returnapc_dec($key, (int) $ step);
}
/**
*キャッシュファイル
*/
publicstatic関数cache_file($file) {
returnapc_compile_file($file);
}
/**
*APC キャッシュ情報を返す
*/
publicstatic関数info() {
returnapc_cache_info ();
}
}
apc_clear_cache();
apcInit::cache_file("HessianUtils.php");
apcInit::cache_file("Hessian1Parser.php");
apcInit::cache_file("Hessian1Writer.php") ;
apcInit::cache_file("HessianStream.php");
apcInit::cache_file("HessianParsing.php");
apcInit::cache_file("HessianExceptions.php");
include_once"./HessianUtils.php";
include_once"./Hessian1Parser.php";
include_once"./Hessian1Writer.php";
include_once"./HessianStream.php";
include_once"./HessianParsing.php";
include_once"./HessianExceptions.php";
header("Content-type:text/html;charset=utf-8");
header("Cache-Control:private,max-age=0,no-cache");
$HessianWriter= new Hessian1Writer() ;
$array= array(1, 2, 3, array('sff','张三'));
//parser
$resolver= new HessianRuleResolver('./hessian1rules.php');
//解析array
$parser_array= new Hessian1Parser($resolver, newHessianStream($HessianWriter->writeValue($array)));
print_r($parser_array->parse());
?>

五、 PHPAPC 管理 APC は、管理 APC を保存するための apc.php を提供します。 .php第41、42行:

复制代码
代码如下:defaults('ADMIN_USERNAME','apc');// 管理者ユーザー名defaults('ADMIN_PASSWORD','password'); // 管理者パスワード - これを有効に変更してください!!!



http://www.bkjia.com/PHPjc/327572.html

www.bkjia.com

http://www.bkjia.com/PHPjc/327572.html技術記事一、PHPAPC インストール下ダウンロードおよび解錠インストール包: 复制定コード如下: wget-c http://pecl.php.net/get/APC-3.1.13.tgz tar-zvxf APC-3.1.13.tgz cdAPC-3.1 .13 编译安装: 复制代码...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。