関数 upprocessAction()
{
if(isset($_GET['progress_key'])) {
$status = apc_fetch('upload_'.$_GET['progress_key']);
$json = 配列(
'per'=>$status['current']/$status['total']*100,
'total'=>round($status['total']/1024),
'current'=>round($status['current']/1024),
);
require_once("Zend/Json.php");
エコー Zend_Json::encode($json);
}
}
APC 構成に関する詳細な説明:
apc.enabled ブール値
apc.enabled を 0 に設定すると、APC を無効にすることができます。これは、APC が静的に PHP にコンパイルされる場合に主に役立ちます。DSO にコンパイルされる場合は、コメントアウトで php.ini を変更できるためです。内線
apc.shm_segments 整数
コンパイル キャッシュに割り当てられた共有メモリ ブロックの数。APC が共有メモリを使い果たし、apc.shm_size をシステムが許可する最大値に設定している場合は、このパラメータの値を増やすことを試みることができます。
apc.shm_size 整数
各共有メモリ ブロックのサイズは MB 単位です。デフォルトでは、一部のシステム (ほとんどの BSD バリアントを含む) では、共有メモリ ブロック サイズの制限が非常に低く設定されています。
apc.optimization 整数
最適化レベル。最適化を無効にするには 0 に設定します。値が大きいほど、より強力な最適化が使用されます。多少の速度向上が期待できます。これはまだ実験的な性質のものです。
apc.num_files_hint 整数
Web サーバーに含まれ、リクエストされているさまざまなソース ファイルの数に関するヒント。よくわからない場合は、0 に設定するか省略してください。この設定は、主に何千ものソース ファイルがあるサイトで役立ちます。
apc.ttl 整数
キャッシュ内のキャッシュ エントリの場所が別のエントリで必要とされる場合、考慮する必要があるのは、キャッシュ内のこのキャッシュ エントリの場所がアイドル状態にできる秒数です。このパラメータを 0 に設定すると、キャッシュが古いエントリでいっぱいになる可能性があり、新しいエントリはキャッシュされなくなります。
apc.gc_ttl 整数
キャッシュ エントリがガベージ コレクション リスト内に存在する秒数。この値は、キャッシュされたソース ファイルが実行され、同時にサーバー プロセスが停止した場合のエラー保護を提供します。そのソース ファイルが変更された場合、古いバージョンのキャッシュ エントリに割り当てられたメモリは、このパラメータで設定された TTL 値に達するまで再利用されません。 0 に設定すると、この機能が無効になります。
apc.cache_by_default ブール値
デフォルトはオンですが、オフに設定して、プラス記号で始まる apc.filters とともに使用すると、ファイルはフィルターに一致する場合にのみキャッシュされます。
apc.filters 文字列
POSIX 拡張正規表現のカンマ区切りリスト。いずれかのパターンがソース ファイル名と一致する場合、そのファイルはキャッシュされません。一致に使用されるファイル名は、絶対パスではなく、include/require に渡されたファイル名であることに注意してください。正規表現の最初の文字が + の場合、その式は、その式に一致するファイルがキャッシュされることを意味し、最初の文字が - の場合、一致するファイルはキャッシュされません。 - はデフォルト値なので省略できます。
apc.mmap_file_mask文字列
apc.slam_defense 整数
非常に負荷の高いサーバーでは、サービスを開始するかファイルを変更するかにかかわらず、同じファイルを同時にキャッシュしようとする複数のプロセスで競合が発生します。このオプションは、プロセスがキャッシュされていないファイルのキャッシュ試行をスキップする割合を設定します。または、これを単一プロセスがキャッシュをスキップする確率と考えてください。たとえば、apc.slam_defense を 75 に設定すると、プロセスは 75% の確率でキャッシュされていないファイルをキャッシュしないことになります。したがって、設定を高くすると、キャッシュの衝突確率が低下する可能性が高くなります。この機能を無効にするには、0 に設定します。
apc.file_update_protection 整数
実行中のサーバー上のファイルを変更するときは、アトミック操作を実行する必要があります。つまり、最初に一時ファイルを書き込み、終了したらファイルの名前を最終的な場所に変更 (mv) します。多くのテキスト エディタ、cp、tar、およびその他の同様のプログラムは、このようには動作しません。これは、ファイルの書き込み中にファイルにアクセスして (キャッシュする) 機会があることを意味します。 apc.file_update_protection の設定により、キャッシュによる新しいファイルのマーク付けが遅延します。デフォルト値は 2 です。これは、ファイルの変更時間がアクセス時間から 2 秒未満であることが判明した場合、ファイルはキャッシュされないことを意味します。不運なユーザーが書きかけのファイルにアクセスすると、奇妙な動作が発生する可能性がありますが、少なくとも永続的なものではありません。ファイルの更新にアトミック操作を頻繁に使用することが確実な場合は、このパラメータを 0 に設定することでこの保護をオフにできます。システムに IO 操作が殺到し、更新プロセスに 2 秒以上かかる場合は、この値を増やす必要がある場合があります。
apc.enable-cli 整数
主にテストとデバッグのために、PHP の CLI バージョンで APC 機能を有効にします。一般的に、CLI リクエストごとに APC キャッシュを作成、移植、破棄することは考えられませんが、さまざまなテスト状況で、これは CLI バージョンで APC を簡単に有効にします。 .
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/947913.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/947913.html技術記事 PHP は、APC モジュールを使用してファイル アップロードの進行状況バーを実装します。この記事では、APC モジュールを使用してファイル アップロードの進行状況バーを実装する PHP の例について説明します。皆さんの参考に共有してください。具体的な分析は以下の通りです...