PHPには、Javaサーバーのように、すべての接続でロード/アンロードされない「セッション外」変数を使用する方法がありますか?
正確さが足りないので失礼します。正しい書き方がわかりません。
主なアイデアは、次のようなものにすることです。
<?php
...
// $variablesAlreadyLoaded is kind of "static" and shared between all PHP threads
// No need to initialize/load/instantiate it.
$myVar = $variablesAlreadyLoaded['aConstantValueForEveryone'];
...
?>
私はすでにこのようshmop
なことや他の奇妙なことをしましたが、キャッシュシステム(APC、Redisなど)やデータベースを使用せずに「純粋なPHP」でこれを行う「クリーンな」方法がある場合。
編集1:
人々(私のために時間を費やしてくれた彼らのおかげで)はセッションで同じように私に答えているので、私は書くのを逃した制約を追加します:セッションはしないでください。
編集2:
このようなことを行うためのPHPネイティブメソッドは、共有メモリ(shmop
)と名前付きパイプだけのようです。私は、メモリ管理(共有メモリブロックサイズ)やシステムの問題(パイプ)を気にせずに、管理された方法で共有オブジェクトにアクセスします。
次に、それを行うための関数/メソッドを提供するPHPモジュール/ライブラリをネットで閲覧しました。何も見つかりませんでした。
編集3:
@KFOが指摘した方法についていくつか調査したところ、putenv
/setenv
はオブジェクトを処理するように作成されていないようです(シリアル化は避けたいと思います)。したがって、文字列や数字などの短い「もの」の問題は解決されますが、より大きな/複雑なオブジェクトの問題は解決されません。
「envway」と別のメソッドを使用してより大きなオブジェクトを処理すると、一貫性がなくなり、コードと保守性が複雑になります。
編集4:
これを見つけました:DBus(GREE Lab DBus)、しかし私は仕事でそれをテストするためのツールを持っていません。誰かがそれをまだテストしましたか?
私はあらゆる提案を受け入れます。
ありがとう
編集5(「回答」):
DBusは私が探しているものではないため(「深刻な」アプリケーションの証拠がなく、サードパーティのモジュールをインストールする必要があります)、現在、その信頼性がすでに証明されているMemcacheを使用しています(@PeterMコメントに続いて、以下を参照) )。