9

php.netで読んだことを思い出します(残念ながらページが見つからないようですが)PHPインタープリターはさまざまな方法で実行できます-最も一般的には、ページが要求されるたびに、PHPインタープリターのインスタンスが作成されて実行されますもちろん、その後、その特定のページ呼び出しに関連付けられているすべてのメモリとともに破棄されます。どうやら、すべてのメモリを長持ちさせて、将来のページ呼び出しで再び使用できるようにすることも可能です。私が理解したように、基本的に、複数の異なるPHPスクリプトが、スクリプトの完了後にそれらを失うことなく、同じオブジェクトにアクセスして変更できるようにします。

または少なくとも、覚えています。これに真実はありますか?もしそうなら、私はそれをどのように設定しますか?

4

3 に答える 3

6

phpはそのようには機能しません。その実行と忘れについて。

ユーザーランドの共有メモリ拡張機能を使用して、リクエスト間でデータを保存できます。たとえば、apc、xcache、memcachedなどです。

または、session_startを呼び出した後にセッションデータ配列を使用する

$ _SESSION

たとえばtomcatのJavaアプリケーションのようなphpスクリプトを考えないでください。標準のphpは、そのユースケース向けに設計されていません。phpコンパイラはオンザフライで動作します。

于 2012-04-19T21:13:39.137 に答える
1

必要なものの一部には共有メモリを使用できますが、おそらく Redis/Memcache の方が適しています。

于 2012-04-19T21:15:56.843 に答える
0

サーバーがリクエスト間で待機するようにすると、オブジェクトも次のようになります。

  • appserver-in-php - PHP5.3+ 用の汎用 HTTP アプリケーションアプローチ (Rack と WSGI に触発された)

適切に作成されたアプリケーションを使用すると、APC よりも高速になりますが、複数のボックスを配置する必要がある場合、ユーザー間で拡張できません (引き続きスティッキー セッションを使用できます)。

于 2012-04-19T21:15:41.630 に答える