使用 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 写入权限的主要内容,如果未能解决你的问题,请参考以下文章