首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从命令行保存Zend_Cache并从浏览器访问

从命令行保存Zend_Cache并从浏览器访问
EN

Stack Overflow用户
提问于 2012-09-17 16:10:47
回答 2查看 752关注 0票数 1

也许我是,这是超级简单的,但我想不出办法。我在命令行中运行了使用Zend_Cache保存缓存的脚本

代码语言:javascript
运行
复制
$frontendOptions = array(
            'lifetime' => NULL,
            'automatic_serialization' => true
        );

$backendOptions = array(
            'cache_dir' => "/home/tmp/cache"
        );

$cache = Zend_Cache::factory('Core',
                    'File',
                    $frontendOptions,
                    $backendOptions);
$vars = Array("id1" => "12121", "id2" => "2232");
$cache->save($vars, "p_11");

我可以从命令行访问保存的缓存:

代码语言:javascript
运行
复制
$cache->load("p_11");

在上述两种情况下,我都有使用php-cli在命令行中运行app.php文件。

现在,我想使用类似http://mytestserve.lan/test_cache.php的浏览器访问p_11缓存

我已经用上面的缓存工厂创建了对象。所有参数都与上面相同。然而,当我尝试加载缓存p_11时,我没有从命令行设置变量。哪里出了问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-17 19:03:26

当您第一次通过命令行访问缓存文件时,有可能是以所有者身份和特定的访问掩码(可能是0600)创建的。

但是当你试图通过浏览器打开文件时,你的行为是完全不同的用户(比如www或apache)。只是可能apache用户无法访问该文件。

票数 3
EN

Stack Overflow用户

发布于 2012-09-18 10:48:19

我同意@akond的观点,也许你应该尝试一下后端配置的cache_file_umaskcache_file_perm选项:

代码语言:javascript
运行
复制
$backendOptions = array(
    'cache_dir'        => "/home/tmp/cache",
    'cache_file_umask' => 0775, 
    'cache_file_perm'  => 0775);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12455343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档