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

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

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

今日は、大きなファイルのアップロードの進行状況エフェクトを作成したいと思います。その後、それを実現できる 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 までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

なぜPHPを使用するのですか?利点と利点が説明されました なぜPHPを使用するのですか?利点と利点が説明されました Apr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

PHP:サーバー側のスクリプト言語の紹介 PHP:サーバー側のスクリプト言語の紹介 Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHP対Python:ユースケースとアプリケーション PHP対Python:ユースケースとアプリケーション Apr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとWeb:その長期的な影響を調査します PHPとWeb:その長期的な影響を調査します Apr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPの影響:Web開発など PHPの影響:Web開発など Apr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

See all articles