【问题标题】:Share one tmp folder between main domain and subdomain in cakephpcakephp中主域和子域共享一个tmp文件夹
【发布时间】:2013-02-06 12:01:21
【问题描述】:

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

【问题讨论】:

    标签: cakephp


    【解决方案1】:

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

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

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

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

    重要

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

    重要2

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

    【讨论】:

      【解决方案2】:

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

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

      然后子域应用程序可以像任何普通应用程序一样对待 tmp 文件夹。

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

      【讨论】:

        猜你喜欢
        • 2012-08-03
        • 1970-01-01
        • 2010-11-21
        • 2015-04-12
        • 2013-11-11
        • 1970-01-01
        • 2018-07-07
        • 1970-01-01
        • 2018-06-08
        相关资源
        最近更新 更多