2012-06-01 64 views
0

我已經爲我的網站編寫了一個基本的索引腳本,它似乎有效。它通過約3/4的索引頁面,然後給出這個錯誤:Zend Lucene:致命錯誤,最長執行時間

Fatal error: Maximum execution time of 0 seconds exceeded in /Zend/Search/Lucene/Analysis/Analyzer.php on line 166

它似乎每次都掛在不同的地方。我一分鐘後跑了,並得到這樣的:

Fatal error: Maximum execution time of 0 seconds exceeded in /Zend/Search/Lucene/Storage/Directory/Filesystem.php on line 349

這裏的腳本:

foreach($all_items as $item) { 
    $doc = new Zend_Search_Lucene_Document(); 

    $doc->addField(Zend_Search_Lucene_Field::Text('title', $item['pagetitle'])); 

    $doc->addField(Zend_Search_Lucene_Field::Text('url', $item['url'])); 

    $doc->addField(Zend_Search_Lucene_Field::Text('country', $item['country'])); 

    // Add document to the index 
    $index->addDocument($doc); 
} 
+2

Do es錯誤消息真的說超過了0秒?通常'set_time_limit(0);'意味着沒有限制 –

+0

是的,這是錯誤逐字。我相信它目前沒有時間限制。 – Vecta

+0

在旁註上:使用Java實現時,索引速度要快很多。我個人推薦使用Solr(參考[PHP Solr文檔](http://php.net/manual/en/book.solr.php)獲取更多信息)。安裝可能有點困難,但它是值得的。 – wimvds

回答

5

也許你的任務是費時? 再增加時間限制set_time_limit

set_time_limit(0); //no time limit 
set_time_limit(500) //500 sec limit 

嘗試增加max_execution_time

ini_set('max_execution_time', 5000); 

還有max_input_time

ini_set('max_input_time', 5000); 

如果仍然不行,則需要跟蹤的部分是什麼永遠執行

+0

set_time_limit訣竅,謝謝! – Vecta

相關問題