私は 2 つのドメインを持っています。1 つはメイン ドメインで、もう 1 つはサブドメインです。両方で 1 つの tmp フォルダーを共有する必要があります。core.php では、これdefine('CACHE_DIR', TMP.'cache'.DS.$_SERVER['SERVER_NAME']);
とCache::config('default', array('engine' => 'File', 'path' => ROOT.DS.'tmp'.DS));
が気に入りましたが、機能しません。誰かがこの問題について知っているなら、私を助けてください。ありがとう!
2 に答える
TMP定数は、サブドメインのapp-directory内にあるように定義されるため、ファイルを保存することになります。
/subdomain-path/app/tmp/cache/domainname
TMP定数はbootstrap.php内で定義されていますが、index.php内で自分で定義することでオーバーライドできます。
TMPを適切な場所に設定すると、すべての一時ファイル、セッションファイル、およびキャッシュファイルがその場所に書き込まれます。したがって、セッションデータが共有ディレクトリに保存されている場合は問題があると考えてください
重要
Webサイトごとに異なるキャッシュ$prefixを設定してください。そうしないと、一方のWebサイトにキャッシュされたモデルが、もう一方のWebサイトでも使用され、間違ったデータベースのデータが使用される可能性があります。この変数は、app / Config/core.php内で設定できます
重要2
変数を使用しないことを強くお勧めします。$_SERVER['SERVER_NAME']
WebサイトでserverAliasesを使用している場合(たとえば、両方がwww.example.comとexample.comを処理している場合)、両方の(サブ)ドメインに個別のキャッシュディレクトリが使用されます。固定パスを設定することをお勧めします。
1 つの解決策は、サブドメインの tmp フォルダーからメイン ドメインの tmp フォルダーへのシンボリック リンクを設定することです。
http://www.tech-recipes.com/rx/172/create_a_symbolic_link_in_unix_solaris_linux/
その後、サブドメイン アプリは、tmp フォルダーを通常のアプリと同様に扱うことができます。
それを行うための特別なケーキの方法があるかもしれませんが、これはうまくいくはずです:)