Cor*_*eus 17 fopen caching cakephp file
我正在使用CakePHP 2.0 RC-1.从SVN签出项目后,应用程序开始抱怨它无法将缓存文件写入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]
Run Code Online (Sandbox Code Playgroud)
没有错误?!WTH?
现在,如果我查看FileEngine文件,在第127行它会显示:
if (!$handle = fopen($this->_File->getPathName(), 'c')) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
通过用"w"替换"c",不会遇到任何错误,并且一切正常.但是,没有必要修改核心Cake库来解决这个问题.让我在我的另一台计算机上重复这一点,它可以按预期工作,而无需编辑核心库.两者都使用Windows操作系统,而tmp/cache-folder的读/写权限完全相同.
编辑:这是一个体验我在本地的错误输出的网站
Googling找到的示例站点.不是我的网站:http://www.12h30.net/credit/
有什么建议?
更新:原因如下:如果你的5.2版之前的PHP版本太低,则会引起这种情况,如评论中的"api55"所述.谢谢回复.希望这对你也有帮助.
Sha*_*had 24
好吧,在我的情况下,当我检查我的应用程序时,它没有/tmp文件夹.然后我创建了结构(/tmp/cache/models,/tmp/cache/persistent),一切运作良好.这件事发生在我身上,也许是git忽略空文件夹,因此它们没有被创建.
Ian*_*ill 17
我遇到了类似的问题,因为我已经在app/tmp目录中输入-R www来让Cake"正常"运行而不给每个人写入权限.在开发过程中,使用控制台和Web的唯一方法是给每个人写入权限,或者将自己添加到www组中.
简易解决方案
chmod -R 777 app/tmp
要么
chown -R username app/tmp
使用控制台和
chown -R www app/tmp
使用网络时
| 归档时间: |
|
| 查看次数: |
32773 次 |
| 最近记录: |