SAE プラットフォームを使用したことのある友人は、プラットフォームのセキュリティ上の考慮事項により、SAE ではユーザーによるローカル IO の使用が制限されていることを知っておく必要があります。しかし、これは一部の従来の PHP プロジェクトに多大な不便をもたらす可能性があります。これは、Smarty のコンパイル テンプレートなど、プロジェクトには多かれ少なかれローカル IO 操作が含まれるためです。この問題を解決するために、SAE は TmpFS 機能を提供します。 TmpFS を使用すると、開発者は標準 IO 関数を通じてローカル IO を一時的に読み書きできるため、多くの非 SAE プロジェクトの移植が容易になります。
しかし、TmpFS だけでは十分ではありません。名前から判断すると、そのライフサイクルは PHP リクエストのライフサイクルと同じです。つまり、PHP リクエストの実行が完了すると、TmpFS に書き込まれたすべての一時ファイルが削除されます。破壊される。 TmpFS は共有ストレージではなくローカル一時ファイルであり、SAE は完全な分散環境であるため、さまざまなリクエストが TmpFS を介して操作ファイルを共有することはできません。詳細については、SAE プラットフォームのドキュメントを参照してください。
例: たとえば、TmpFS を使用してカウンタを作成したいとします (もちろん、SAE が提供するカウンタ サービスを使用することもできます)
コードは次のとおりです:
リーリーelseで実行することは不可能であることがわかりました。実行が終了するたびに一時ファイルシステムが存在しなくなるため、コードが開始されるたびに(新しいphpリクエストです)、一時ファイルが存在するかどうかが判断されます.
つまり、ゼロタイム ファイルは 2 つのファイル間で共有したり、ファイルに対する異なる時間リクエストを共有したりすることはできません。
実際、SAE ドキュメントを注意深く読めば、SAE が提供する Wrappers でそれを見つけるのは難しくありません
KVDB -- saekv://
saekv:// は、KVDB の読み取りと書き込みに使用されます。主に、永続的に保存されたデータを保存するために使用されます。最も一般的に使用されるシナリオは、構成ファイルを保存することです。
これにより、永続ファイルの作成と変更の要件を満たすことができますこのサービスを使用する前に、まず
を行う必要があります。
以下はカウンターのテストコードです:リーリー
以上です。ファイルを同時に削除するには2つの方法があります
1 つの方法は、PHP のネイティブ削除メソッド unlink($file) を使用することです
もう 1 つの方法は、SAE が提供する kvdb データベースを削除することです:
コード:
リーリー
詳細については、KVDB サービスのドキュメントを参照してください。count.txt がキーの値です...参考ドキュメント: SAE プラットフォームのドキュメント
http://www.bkjia.com/PHPjc/440414.html