2013-03-21 77 views
2

我在互聯網上搜索了很多信息,也嘗試了許多不同的建議,但沒有任何東西似乎能夠滿足我的需求。所以這裏是問題: 我想使用Zend_Search_Lucene在數據庫中執行搜索,但我一直堅持在開始。創建索引並讓Zend工作。林共享HostGator的主機上,並使用這個PHP代碼生成我的索引:將zend框架包含到php項目中zend_search_lucene

include ('/home/username/public_html/website/config.php'); 

$path = '/usr/local/Zend'; 
set_include_path(get_include_path() . PATH_SEPARATOR . $path); 
require_once('Zend/Loader.php'); 
Zend_Loader::registerAutoload(); 
require_once ('Zend/Search/Lucene.php'); 
$index = Zend_Search_Lucene::create('/home/username/public_html/website/tmpbuild'); 
    $con = mysql_connect("".$dbhost."","".$dbusername."","".$dbpass.""); 
    if (!$con) 
     { 
     die('Could not connect: ' . mysql_error()); 
     } 

     mysql_select_db("".$dbname."", $con); 

$sql = ('SELECT * FROM rasti_failai'); 
while($eilute = mysql_fetch_array($sql)) 
     { 
     $filenamesql = $eilute['failu_name']; 
     $dydissql = $eilute['dydis']; 
     $hostas = $eilute['hostas']; 
     $datasql = $eilute['data']; 
     $aprasymassql = $eilute['header']; 
     $titlesql = $eilute['aprasymas']; 
     $url = $eilute['url']; 
     $links = $eilute['links'];  

    $document = new Zend_Search_Lucene_Document(); 

$document->addField(Zend_Search_Lucene_Field::unIndexed('ID', $eilute['ID'])); 
$document->addField(Zend_Search_Lucene_Field::Text('failu_name', $eilute['failu_name'])); 
$document->addField(Zend_Search_Lucene_Field::UnStored('dydis', $eilute['dydis'])); 
$document->addField(Zend_Search_Lucene_Field::UnStored('hostas', $eilute['hostas'])); 
$document->addField(Zend_Search_Lucene_Field::UnStored('header', $eilute['header'])); 
$document->addField(Zend_Search_Lucene_Field::UnStored('aprasymas', $eilute['aprasymas'])); 
$document->addField(Zend_Search_Lucene_Field::UnStored('url', $eilute['url'])); 
    $index->addDocument($document);  } 
$index->commit(); 
echo $index->count() . " documents have been indexed.\n"; 

但似乎我不能讓Zend框架的工作,作爲即時通訊收到此錯誤:

Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in /home/username/public_html/website/adminp/lucene.php on line 15 

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='.:/usr/lib/php:/usr/local/lib/php:/usr/local/Zend') in /home/username/public_html/website/adminp/lucene.php on line 15 

我的主人有zend框架(我不知道確切的版本,但我認爲hostgator使用最新的一個,而我使用php5)安裝,並支持說它在/ usr/local/Zend目錄中。

+0

是你的'/ usr/local/Zend'直接庫嗎?比如當你打開它時,你擁有所有的框架? – 2013-03-22 04:26:20

+0

可悲的是我無法訪問zend目錄來查看它的內容,因爲它是Hostgator共享主機帳戶。也許任何建議,我怎麼可以上傳和使用我自己的zend框架...我可以上傳它讓/ say/home/username/public_html/website/Zend或/ home/username/public_html/Zend目錄,然後使用它沒有任何問題? – DadaB 2013-03-22 07:47:43

+0

這個錯誤只是告訴你需要爲Zend Framework實現自動加載器。如果您的虛擬主機託管Zend Framework,那麼他們可能有一個代碼片段,需要使用它來獲得正確的路徑和權限。檢查出http://stackoverflow.com/questions/1466252/zend-framework-1-9-how-to-use-autoloading-without-mvc – RockyFord 2013-03-22 09:43:47

回答

0

好的,我修好了。如果有人需要的信息,我怎麼沒在這裏是detaild解釋: 首先, 我已經下載Zend框架1(爲第12版本的does not具有默認的Lucene模塊) 然後用這個分步:

  1. 上傳Zend框架到你的主機服務器(路徑:根/圖書館/ Zend公司)

  2. 查找您DOCUMENT_ROOT路徑

    回聲phpinfo()函數;

3.創建或更新您的php5.ini或php.ini文件,它位於您的託管帳戶的rood目錄中。 (如果您正在使用PHP5,你需要使用php5.ini文件)

,就把這行,(如果你已經有了,加上當前的一組此行目的,用連接「:」)

include_path = [DOCUMENT_ROOT]/Zend Path 

ex)include_path = /home/content/m/i/s/misskoreabbq/html/library

現在爲了測試zend是否安裝正常,讓我們打印出zend框架的工作版本。

require_once 'Zend/Version.php'; 
echo 'Your Zend Framework version = ' . Zend_Version::VERSION; 
1

你已經設置包括與set_include_path();路徑,以便您在Zend/目錄裏,你在這裏顯示:

$path = '/usr/local/Zend'; 
set_include_path(get_include_path() . PATH_SEPARATOR . $path); 
require_once('Zend/Loader.php'); 

我相信改變你的最後一行到這應該工作:

require_once('Loader.php'); 

錯誤只是表示找不到您指定的文件。

+0

嗯可能是問題,我的主機使用Zend框架2(至極它似乎沒有包括lucene模塊作爲默認了)所以問題是我怎麼能上傳和使用lucene模塊共享主機,因爲我發現我可以從https://github.com/zendframework/ZendSearch下載它。謝謝 P.S.我現在編輯代碼,看看你的消化功能是否有效,但我相信我也會有lucene模塊問題 – DadaB 2013-03-25 15:22:04

+0

P.P.S.你的建議沒有幫助:(我仍然得到loader.php錯誤(...失敗打開需要'Loader.php'(include_path ='。:/ usr/lib/php:/ usr/local/lib/php:/ usr/local/Zend')...)。是否有任何簡單的方法可以將zend框架文件上傳到我的主機並使用它們? – DadaB 2013-03-25 15:28:06

+0

嗯,你看過[setup文檔](http:// framework。 zend.com/manual/1.12/en/introduction.installation.html)? – SeanWM 2013-03-25 15:30:04