gpt4 book ai didi

zend-framework - 带有 Zend 框架的 WURFL 忽略缓存目录配置

转载 作者:行者123 更新时间:2023-12-04 22:15:50 27 4
gpt4 key购买 nike

我正在关注使用 Zend Framework 设置 WURFL 的教程,以实现轻松的移动浏览器检测。

http://framework.zend.com/manual/en/zend.http.user-agent.html#zend.http.user-agent.quick-start

我已经将它设置到可以检测桌面浏览器并为我提供该浏览器的所有详细信息和功能的地步,但是当我尝试使用 iPhone(移动 safari)访问该网站时,它会在尝试编写时引发错误到缓存目录。

这是我在错误日志中看到的内容:

2011-06-08T22:32:34-07:00 ERR (3): The file cache directory does not exist and could not be created. Please make sure the cache directory is writeable: /var/tmp

但是,在/application/configs/wurfl-config.php 的配置中,我已将缓存目录设置为以下内容:
<?php
$resourcesDir = dirname(__FILE__) . '/../../data/wurfl/';

$wurfl['main-file'] = $resourcesDir . 'wurfl-2.0.27.zip';
$wurfl['patches'] = array($resourcesDir . 'web_browsers_patch.xml');

$persistence['provider'] = 'file';
$persistence['dir'] = $resourcesDir . '/cache/';

$cache['provider'] = null;

$configuration['wurfl'] = $wurfl;
$configuration['persistence'] = $persistence;
$configuration['cache'] = $cache;

我还确保它可以被服务器写入,但 wurfl 似乎认为我的缓存目录仍然是/var/tmp

如何让 wurfl 观察我的缓存目录设置?

备注 : 本教程以 wurfl-1.1 为例,我在 sourceforge 上只能找到 wurfl-1.3。这可能是一个问题。

备注 :我的 application.ini 文件中有这些行:
; WURFL
resources.useragent.wurflapi.wurfl_api_version = "1.1"
resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH "/../library/wurfl-php-1.3.0/WURFL/"
resources.useragent.wurflapi.wurfl_config_file = APPLICATION_PATH "/configs/wurfl-config.php"

最佳答案

不确定这是否是修复它的正确方法,但对我来说,问题是通过在 persistence.dir 键后添加一个额外的 .dir 解决的(使用 WURFL 1.3.0):

在 application.ini 中:(我不使用 php 配置文件,因为如果我可以使用 .ini 指令,我不喜欢混入 php 代码)

resources.useragent.wurflapi.wurfl_config_array.persistence.dir.dir  = APPLICATION_PATH "/../data/wurfl/cache/"

所以我对 WURFL 的完整配置在 Zend 的 application.ini 中如下所示:
; Mobile device detection
resources.useragent.storage.adapter = "Session"
resources.useragent.wurflapi.wurfl_api_version = "1.1"
resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH "/../library/WURFL/"
resources.useragent.wurflapi.wurfl_config_array.wurfl.main-file = APPLICATION_PATH "/../data/wurfl/wurfl.xml"
resources.useragent.wurflapi.wurfl_config_array.wurfl.patches[] = APPLICATION_PATH "/../data/wurfl/web_browsers_patch.xml"
resources.useragent.wurflapi.wurfl_config_array.persistence.provider = "file"
resources.useragent.wurflapi.wurfl_config_array.persistence.dir.dir = APPLICATION_PATH "/../data/wurfl/cache/"

也许是框架中关于它如何读取它正在传递的配置数组的错误?

关于zend-framework - 带有 Zend 框架的 WURFL 忽略缓存目录配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6299986/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com