検索
ホームページバックエンド開発PHPチュートリアルLinux で yum を使用して PHP APC をインストールし、examples_PHP チュートリアルを使用する

Linux で yum を使用して PHP APC をインストールし、examples_PHP チュートリアルを使用する

Jul 13, 2016 pm 05:07 PM
apclinuxphpyum1つアップロードそして使用インストール効果書類スケジュール

今日は、大きなファイルのアップロードの進行状況エフェクトを作成したいと思います。その後、それを実現できる PHP apc があるとのことで、Baidu の PHP 情報を調べました。 APC は 2 つのキャッシュ関数を提供します。1 つはオペコード (ターゲット ファイル) のキャッシュであり、これを apc_compiler_cache と呼びます。また、いくつかの機能も提供します このインターフェイスは、PHP 開発者がユーザー データをメモリに保存するために使用します。これを apc_user_cache と呼びます。APC キャッシュを使用して、その効果を確認したいのですが、対応するバージョンの php-apc.dll 拡張機能が見つかりません。ファイルは Windows にあるので、Linux を使用する必要があります

の下にインストールされます。ソースコードからインストールする必要はありません。yum:

だけでインストールできます。 まず、apc 依存関係パッケージをインストールする必要があります:

コードは次のとおりですコードをコピーyum install php-pear php-devel httpd-devel pcre-devel gcc make

次に、pecl を使用して APC をインストールします:

コードは次のとおりですコードをコピーpecl インストール APC

設定ファイルに apc 拡張子を追加します:

コードは次のとおりですコードをコピーecho "extension=apc.so" > /etc/php.d/apc.ini

最後にサーバーを再起動することを忘れないでください:

コードは次のとおりですコードをコピーサービスhttpdの再起動
を指定し、PHP の phpinfo() 関数を使用して以下を検出します。

APCキャッシュ関数例

APC では、APC によってもたらされた大きなファイルのアップロードの進行状況をキャッシュする機能も利用できます。 php.ini で apc.rfc1867 を 1 に設定する必要があります。

そして、隠しフィールド APC_UPLOAD_PROGRESS をフォームに追加します。このフィールドの値は、一意性を確保するためにランダムにハッシュを生成します。

APC には多くの設定があり、php.ini で次のように設定できます:


コードは次のとおりです

PHPで一般的なAPC関数を試してみました:

コードをコピー
[APC]

apc.有効 = 1
apc.shm_segments = 1
apc.shm_size = 64
apc.max_file_size = 10M
apc.stat=1

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


/*データストレージに変数を追加します
bool apc_add ( string $key ,mixed $var [, int $ttl = 0 ])
キーが存在する場合は上書きされず、falseが返されます
*/
apc_add('url','http://www.111cn.Net');

/*保存されている変数をキャッシュから取得します
混合 apc_fetch (混合 $key [, bool &$success ] )
*/
var_dump(apc_fetch('url'));

/*変数を保存するには apc_store() を使用します。.key は一意であるため、2 つの値が同じ名前を使用している場合、元の値は新しい値で上書きされます
bool apc_store ( string $key ,mixed $var [, int $ttl = 0 ])
*/
apc_store('var','新しい変数');

/*ユーザーキャッシュから変数を削除します
混合 apc_delete (文字列 $key)
*/
apc_delete('url');

/*APC キャッシュをクリアします
bool apc_clear_cache ([ string $cache_type ] )
*/
apc_clear_cache('ユーザー');

/*APC に特定のキーがあるかどうかを確認し、キーが存在する場合は TRUE を返し、そうでない場合は FALSE を返します
混合 apc_exists (混合 $keys )
*/
if(apc_exsists('url')){
echo "このキーは実際に存在します";
}その他{
echo "このキーは存在しないようです";
}

/*保存されている数値をインクリメントし、成功した場合はキーの現在の値を返し、失敗した場合は FALSE を返します
int apc_inc ( string $key [, int $step = 1 [, bool &$success ]] )
*/
apc_store('anumber', 42);
$ret = apc_inc('anumber', 1, $fail);
var_dump($ret);
var_dump($fail);

/* 変数に格納されている数値をデクリメントし、成功した場合はキーの現在の値を返し、失敗した場合は FALSE を返します
int apc_dec ( string $key [, int $step = 1 [, bool &$success ]] )
*/
$ret = apc_dec('astring', 1, $fail);
var_dump($ret);
var_dump($fail);

さらに、非常に便利な APC キャッシュ クラスが提供されています:

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


/*************************************************** * *********************************
※APCキャッシュクラス、著作権(InitPHPフレームワークより抜粋)
************************************************* * *********************************/
クラス MyApc {

/**
* APC キャッシュセットキャッシュ
* キャッシュキー、値、キャッシュ時間を設定します
* @param 文字列 $key KEY 値
* @param string $value value
* @param string $time キャッシュ時間
​*/
パブリック関数 set_cache($key, $value, $time = 0) {
if ($time == 0) $time = null // null の場合は永続的にキャッシュします
apc_store($key, $value, $time) を返します;;
}


/**
* APC キャッシュ - キャッシュを取得
* KEYを通じてキャッシュデータを取得します
* @param 文字列 $key KEY 値
​*/
パブリック関数 get_cache($key) {
apc_fetch($key) を返します;
}

/**
* APC キャッシュ - キャッシュをクリアします
* memcache からキャッシュを削除します
* @param 文字列 $key KEY 値
​*/
パブリック関数 Clear($key) {
apc_delete($key) を返します;
}

/**
* APC キャッシュ - すべてのキャッシュをクリア
※この機能の使用は非推奨です
* @return
​*/
パブリック関数 clear_all() {
apc_clear_cache('user'); // ユーザーキャッシュをクリアします
Return apc_clear_cache() //キャッシュをクリア
; }

/**
* APCキャッシュが存在するか確認してください
* @param 文字列 $key KEY 値
​*/
パブリック関数が存在します($key) {
apc_exists($key) を返します;
}

/**
* フィールドの自動インクリメント - カウントに使用されます
* @param 文字列 $key KEY 値
* @param int $step 新しいステップ値
​*/
public function inc($key, $step) {
Return apc_inc($key, (int) $step);
}

/**
* フィールドのデクリメント - カウントに使用されます
* @param 文字列 $key KEY 値
* @param int $step 新しいステップ値
​*/
パブリック関数 dec($key, $step) {
Return apc_dec($key, (int) $step);
}

/**
* APC キャッシュ情報を返します
​*/
パブリック関数 info() {
apc_cache_info() を返します;
}
}


//使用方法:
$apc = 新しい MyApc();
$apc->set_cache('key','www.phpddt.com によるテスト');
print_r($apc->get_cache('key'));


概要

1. 最高のパフォーマンスを実現するには、Spinlocks ロック機構を使用します。
2. APC は、APC キャッシュを監視および管理するための apc.php を提供します。管理者名とパスワードを忘れずに変更してください
3. APC はデフォルトで mmap 匿名マッピングを通じて共有メモリを作成し、キャッシュ オブジェクトはこの「大きな」メモリ空間に保存されます。 APC自身が管理しています

共有メモリを管理する
4. 統計を通じて、apc.shm_size、apc.num_files_hints、および apc.user_entries_hint の値を調整する必要があります。最後まで

良い
5. まあ、apc.stat = 0 のほうがパフォーマンスが向上することは認めます。あなたの望むものなら何でも受け入れます
6. PHP の事前定義定数。apc_define_constants() 関数を使用できます。ただし、APC 開発者によると、pecl Hidef の方がパフォーマンスが優れているとのことです

いいですね、定義を捨てるのは非効率です。
7. 関数 apc_store()、システム設定などの PHP 変数の場合、ライフサイクルはアプリケーション全体です (httpd デーモンから httpd デーモンまで)

プロセスのシャットダウン)、Memcached の代わりに APC を使用する方がよいでしょう。結局のところ、ネットワーク伝送プロトコル tcp は使用しないでください。

8. APC は、頻繁に変更されるユーザーデータを apc_store() 関数を通じてキャッシュするのには適しておらず、いくつかの奇妙な現象が発生します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629903.html技術記事今日は、大きなファイルのアップロード進行効果を実行したいと思います。その後、PHP APC がそれを実現できるとネットで調べました。PHP APC には、オペコード (ターゲット ファイル) のキャッシュという 2 つのキャッシュ機能が用意されています。 ...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
セッションを保存するためにデータベースを使用することの利点は何ですか?セッションを保存するためにデータベースを使用することの利点は何ですか?Apr 24, 2025 am 12:16 AM

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでカスタムセッション処理をどのように実装しますか?PHPでカスタムセッション処理をどのように実装しますか?Apr 24, 2025 am 12:16 AM

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

セッションIDとは何ですか?セッションIDとは何ですか?Apr 24, 2025 am 12:13 AM

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

ステートレス環境(APIなど)でセッションをどのように処理しますか?ステートレス環境(APIなど)でセッションをどのように処理しますか?Apr 24, 2025 am 12:12 AM

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?Apr 23, 2025 am 12:16 AM

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?Apr 23, 2025 am 12:13 AM

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

session.gc_maxlifetime構成設定とは何ですか?session.gc_maxlifetime構成設定とは何ですか?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでセッション名をどのように構成しますか?PHPでセッション名をどのように構成しますか?Apr 23, 2025 am 12:08 AM

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)