使用 Codeigniter + Simplepie 写入权限

Posted

技术标签:

【中文标题】使用 Codeigniter + Simplepie 写入权限【英文标题】:Write permissions with Codeigniter + Simplepie 【发布时间】:2011-02-28 09:50:12 【问题描述】:

我正在尝试使用这两个框架创建一个简单的 RSS 解析器。但是,当我尝试写入我的缓存目录时遇到 phperrors:

set_cache_location(APPPATH.'cache/rss');

我正在使用来自 github 的最新版 Simplepie 运行带有 XAMPP 的 windows 7

错误:

遇到了 PHP 错误

严重性:用户警告

消息:C:\xampp\htdocs\geekurls/system/application/cache/rss 不可写。确保您设置了正确的相对或绝对路径,并且该位置是服务器可写的。

文件名:libraries/simplepie.php

行号:1732

尝试像下面的评论说的,并尝试制作一个测试文件,但没有成功

        $file = APPPATH."cache/rss/testFile.txt";
        $handle = fopen($file, 'w') or die("fail");
        fclose($handle);

【问题讨论】:

【参考方案1】:

一个简单的检查来找出可能发生的事情,

尝试使用标准 php 在此目录中创建文件 - 这有助于解决权限问题。

$this->load->helper('file'); 

$data = 'Some file data';

if ( ! write_file('./path/to/file.php', $data))

     echo 'Unable to write the file';

else

     echo 'File written!';

另外使用默认缓存怎么样?

http://simplepie.org/wiki/faq/i_m_getting_cache_error_messages

【讨论】:

到目前为止运气不好 :( 不过感谢 - 即使使用默认缓存位置 :( 写入文件失败了吗?你试过 CI 写文件的方式吗? 是的 - 必须与该目录的权限有关:(我可以写入我自己的用户区域 - 但 xampp htdocs 安装到 c:\xampp 所以这可能是问题 右键单击文件夹(缓存),选择属性,选择安全并检查其中的设置。通常管理员有写入权限,而用户只有读取权限,具体取决于您的 Windows 设置,这可能是问题所在。

以上是关于使用 Codeigniter + Simplepie 写入权限的主要内容,如果未能解决你的问题,请参考以下文章

使用 jcrop 和 CodeIgniter 裁剪图像

使用 Codeigniter 插入忽略

使用LDAP身份验证的Codeigniter应用程序

Codeigniter、Restful API 和如何使用密钥

CodeIgniter - 使用事务插入多个表

使用 CodeIgniter 分组 [关闭]