在cakephp中的主域和子域之间共享一个tmp文件夹

时间:2013-02-06 12:01:21

标签: cakephp

我有两个域,一个是主域,第二个是子域。我需要在它们之间共享一个tmp文件夹。在core.php中,我确实喜欢这个define('CACHE_DIR', TMP.'cache'.DS.$_SERVER['SERVER_NAME']);Cache::config('default', array('engine' => 'File', 'path' => ROOT.DS.'tmp'.DS));,但它不起作用。如果有人知道这个问题,请帮帮我? 谢谢!

2 个答案:

答案 0 :(得分:1)

一种解决方案是设置从子域tmp文件夹到主域tmp文件夹的符号链接。

http://www.tech-recipes.com/rx/172/create_a_symbolic_link_in_unix_solaris_linux/

然后子域应用程序可以将tmp文件夹视为任何普通应用程序。

可能有一种特殊的蛋糕方式可以做到这一点,但这也应该有效:)

答案 1 :(得分:1)

TMP常量将定义在子域的app目录中,因此您最终将保存文件whitin

/subdomain-path/app/tmp/cache/domainname

TMP常量是在bootstrap.php中定义的,但您可以通过在index.php中自己定义它来覆盖它。

如果将TMP设置为正确的位置,则所有临时文件,会话文件和缓存文件都将写入该位置。因此,如果会话数据存储在共享目录中,则认为这是一个问题

重要

请务必为每个网站设置不同的缓存 $ prefix 。否则,一个网站缓存的模型也将被另一个网站使用,这可能导致使用来自错误数据库的数据!! 此变量可以在您的app / Config / core.php中设置< / p>

<强> important2

我强烈建议您使用$_SERVER['SERVER_NAME']变量。如果您的网站使用serverAliases(例如,处理 www.example.com example.com ),则两个(子)域将使用单独的缓存目录。最好设置固定的路径。