2

我在使用 Zend_Search_Lucene 创建索引时遇到问题。

现在,在我的本地机器上一切正常,所以我猜只是网络服务器上的文件权限存在问题。

这是我尝试在控制器中创建索引的方式:

$index = Zend_Search_Lucene::create('/data/users_index');

当然,数据目录的权限设置为 0777。这是目录列表:

public_html
    public      0755
        css     0755
        js      0755
        data    0777

然而我收到了这个错误:

无法创建目录“/data/users_index”。

4

2 回答 2

3

Edit/Update:在进一步阅读并查看您的结构之后,我会试一试并尝试使用ABSOLUTE路径而不是相对路径来确保其写入写入位置。抱歉,我之前错过了那部分。这显然不是最佳实践,但它至少会缩小它是否是许可/查找问题的范围。

所以把它改成类似

$index = Zend_Search_Lucene::create('/path/to/public_html/public/data/users_index');

虽然,你真的应该把它放在公共 HTML 文件夹之外。公众没有理由访问您的 Lucene 索引文件。

例如,我的存储在这里:

'../application/models/lucene/articles/index'

如果您在 Linux/Unix 机器上,则必须对文件夹或 CHOWN/CHGRP 进行 CHMOD,以便 Web 服务器具有写入权限。如果您有权访问服务器,则可以简单地运行:

chmod -R 770 /path/to/your/data/users_index

但是,如果您不是服务器的管理员,您可能应该要求服务器管理员确保这是应用于此文件夹的正确权限,每个管理员对于如何设置文件夹权限都有自己的怪癖;他们应该在哪个组;谁来改变它;等等

如果您使用的是 Windows 计算机,则必须右键单击该文件夹并授予该IUSR_XXXXX帐户权限,并授予他们对该文件夹的读/写访问权限。(用您的机器名称替换 XXX)

于 2009-08-11T15:02:41.887 回答
0

$index = Zend_Search_Lucene::create('public/data/users_index');

??

于 2009-08-11T13:24:46.443 回答