file - CakePHP 2.0 - Cake 无法写入文件缓存

标签 file caching cakephp fopen

我正在使用 CakePHP 2.0 RC-1。从 SVN checkout 项目后,应用程序开始提示它无法将缓存文件写入 tmp/cache 目录。由于这是本地的,我知道该目录是可写的,并且我可以清楚地看到目录甚至充满了文件,所以错误有点奇怪。

以下是我遇到的一些错误:

_cake_core_ cache was unable to write 'cake_dev_nb' to File cache

fopen(c:\cake\app\tmp\cache\models\cake_model_default_media) [function.fopen]: failed to open stream: No error [CORE\Cake\Cache\Engine\FileEngine.php, line 127]

没有错误?!什么?

现在,如果我查看 FileEngine 文件,在第 127 行它显示:
if (!$handle = fopen($this->_File->getPathName(), 'c')) {
            return false;
}

通过将“c”替换为“w”,不会遇到任何错误,并且一切正常。但是,没有必要修改核心 Cake 库来解决这个问题。让我重复一遍,在我的另一台计算机上,它按预期工作,无需编辑核心库。两者都使用 Windows 操作系统,并且对 tmp/cache-folder 的读/写权限完全相同。

编辑:这是一个遇到我在本地的错误输出的站点

谷歌搜索找到的示例网站。不是我的网站:http://www.12h30.net/credit/

有什么建议么?

更新:原因如下:如果您在 5.2.6 之前的 PHP 版本过低(如评论中的“api55”所述),则会出现这种情况。谢谢回复。希望这对你也有帮助。

最佳答案

好吧,就我而言,当我检查我的应用程序时,它没有 /tmp文件夹。然后我创建了结构( /tmp/cache/models/tmp/cache/persistent )并且一切正常。这发生在我身上,可能 git ignore empty 文件夹,所以它们没有被创建。

关于file - CakePHP 2.0 - Cake 无法写入文件缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7584472/

相关文章:

sql-server - SQL Server 从表中读取 csv 二进制文件

php - 找到离给定地址最近的位置

php - cakephp - 按分页中的二级关联排序

c - 如何对文本文件中的所有数字求和?

javascript - 输入类型=附加到 onclick 事件的文件

caching - 阻止Docker从缓存创建图像

http - 边缘服务器包括 (ESI)

php - CakePHP 测试套件有什么作用?它的目的是什么?

php - 如何通过 PHP 从 MySQL 数据库中导出 20,000 个联系人以导入到桌面地址簿中?

browser - 查询字符串参数的顺序是否会影响缓存对象?