Php 类别';Zend#u Search#u Lucene';找不到

Php 类别';Zend#u Search#u Lucene';找不到,php,zend-framework,zend-lucene,Php,Zend Framework,Zend Lucene,作为PHP调用Zend框架的初学者,我可以将其包含在Netbeans IDE中。现在我正试图使用Zend_Lucene实现Lucene索引器和搜索器,我跟踪了官方网站的入门,不幸的是,他们只用了几句话就解释了整个事情。无论如何,我复制粘贴了这个$index=Zend\u Search\u Lucene::create($indexPath),但我在这一行收到一条消息说:致命错误:在C:\wamp\www\witswork\luceneTry.php中找不到类“Zend\u Search\u Lu

作为PHP调用Zend框架的初学者,我可以将其包含在Netbeans IDE中。现在我正试图使用Zend_Lucene实现Lucene索引器和搜索器,我跟踪了官方网站的入门,不幸的是,他们只用了几句话就解释了整个事情。无论如何,我复制粘贴了这个
$index=Zend\u Search\u Lucene::create($indexPath),但我在这一行收到一条消息说:致命错误:在C:\wamp\www\witswork\luceneTry.php中找不到类“Zend\u Search\u Lucene”
这意味着该功能仍然未知,可能,一些文件需要复制到我的项目文件夹中,但实际上我现在没有主意了。
请接受我的问候,

丹妮

首先需要加载包含
Zend\u Search\u Lucene
类的php文件。一个选项是加载/path/to/library/Zend/Search/Lucene.php:

require_once 'my/path/to/library/Zend/Search/Lucene.php';
$index = new Zend_Search_Lucene::create($indexPath);
这个类加载它的所有依赖项,所以您不必担心这一点

另一个选项是使用Zend的自动加载器,
Zend\u Loader\u autoloader
。该类是一个单例类,当您第一次检索它时,它将自己注册到
spl\u autoload()

$autoloader = Zend_Loader_Autoloader::getInstance();
$index      = new Zend_Search_Lucene::create($indexPath);

加载自动加载器后,只需使用
Zend\u Search\u Lucene
即可,无需调用
require\u once()。在Zend框架中,您可以找到有关自动加载器的更多信息。

将Zend放在您的include路径中,并确保
require_once'Zend/Search/Lucene.php'
。或者您可以设置自动加载器。感谢Jurian,它在没有加载器的情况下工作。已经创建了这些文件:read.lock.file、segments.gen、segments_1、write.lock.file,但是看看创建后我得到了什么:equire_once(Zend/Search/Lucene/Storage/file/Filesystem.php)
[函数.需要一次]:无法打开流:在第349行的C:\wamp\www\xxx\Zend\Search\Lucene\Storage\directory\Filesystem.php中没有这样的文件或目录
您是否更改了这些文件中的某些内容?调用应该加载类
Zend\u Search\u Lucene\u Storage\u File\u Filesystem
。这个问题是由其他原因引起的,因为您可以使用require\u once()加载
Zend\u Seach\u Lucene
。下面是我的代码:
require\u once“Zend/Search/Lucene.php”$indexath=“文档”$docUrl=“文档”$index=Zend\u Search\u Lucene::create($indexPath)$docTitle=“计划”$docBody=“规划”$doc=new Zend_Search_Lucene_Document()$doc->addField(Zend_Search_Lucene_Field::Text('url',$docUrl))$doc->addField(Zend_Search_Lucene_Field::Text('title',$docTitle))$doc->addField(Zend_Search_Lucene_Field::unStored('contents',$docBody))
@Dany90您可能应该将
Zend
库更新到最新版本,并查看解决问题的方法。确保
Zend
目录及其文件具有
apache
读取权限。@Rakesh,我使用的是最新的一个,两天后就下载了,但它是
最小包
,也许我应该使用
完整包
,不是吗?然后,我从哪里对
apache
中的文件授予权限?