1

glocal.ascx で c# の application_start イベントを使用することに慣れています。

アプリケーションが最初に読み込まれるときに、最初にすべてのデータをキャッシュできるように、php で同様のものを作成する必要があります。

誰かが私がこれを行う良い方法を知っていますか?

4

2 に答える 2

1

PHP には、ASP.NET の AppDomain のようなものはありません。

ASP.NET では、AppDomain プロセスと (同期) 要求がこのプロセス内で「HttpContext スレッド」として処理されると、Web サーバーが生成されます。非同期 IHttpHandlers は複数のスレッドで処理される場合がありますが、同じ AppDomain プロセスも共有しています。

PHP では、各リクエストは単一のプロセス (FastCGI ではスレッド) ですが、静的な共有スコープはありません。スクリプトが実行されてから終了します。メモリ内のデータを共有するには、memcache などのヘルパーが必要です。

于 2013-07-04T17:01:51.337 に答える
0

PHP では、各スクリプトがすべてのコードを順番に実行してから終了します。したがって、私があなたの質問を正しく理解していれば、基本的にスクリプトの先頭にキャッシュ システムを構築する必要があります。

私の単純なプロジェクトでは、サイト全体/グローバル タスクをすべて処理するファイル (私はこれを assign.inc と呼びます) を含めるだけです。すべてのページで最初にロードされ、セッション/データベース接続などを設定します.

私のより大きなプロジェクトでは、index.php (.htaccess 経由) を介してすべてのトラフィックを書きました。これにより、__construct を介してすべてを行う CMS クラスが開始されます。

それは役に立ちますか?

于 2013-07-04T16:25:26.227 に答える