2013-04-26 32 views
1

我使用Jumi將自定義php展開爲joomla articulate。Joomla - 使用php生成的大量代碼=>空白頁

function generateTR($tr_nr) { 
    $html=""; 
    for ($i=0; $i<$tr_nr; $i++) { 
     $m=memory_get_usage(); 
     $html.="<tr><td colspan='5'>$i - $m</td></tr>"; 
    } 
    return $html; 
} 


echo "<table><tbody>".generateTR(20000)."</tbody></table>"; 

如果我運行這個代碼(generateTR(20000))通過jumi =>我得到空白頁。 如果我通過訪問php文件直接運行它=>它顯示錶OK。

如果將行數更改爲2000 => generateTR(2000)=>它會通過jumi顯示joomla文章中的表。

爲什麼當我增加html代碼量=> joomla + jumi無法處理它? 另外我嘗試了sourcerer而不是jumi =>同樣的問題。

有沒有解決方法?

謝謝。

編輯: 我試圖增加max_execution_time 180秒;也memory_limit的到2000M

EDIT2: 在日誌中沒有錯誤...

error_reporting(E_ALL | E_STRICT); 
ini_set("display_errors", 1); 

得到了一些錯誤,但沒有涉及到這個問題......因爲當少數TR行錯誤是一樣的,表格顯示OK。

+1

可能在執行時間限制或內存限制上運行。 – Pitchinnate 2013-04-26 20:31:10

+0

編輯:我試圖增加max_execution_time 180秒;也memory_limit到2000M – ihtus 2013-04-26 20:33:58

+0

錯誤日誌中的任何錯誤? – Pitchinnate 2013-04-26 20:34:23

回答

-1

得到了解決,這要歸功於耶穌基督。

空白頁的原因是「系統 - SEF」插件。 這裏是bug - http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=24865

你會在Joomla 1.5中得到空白頁面。

在的Joomla 2.5,你會得到 「500 - PHP正則表達式達到上限(pcre.backtrack_limit)」

這是同樣的錯誤。

2解決方案:

1)禁用 「系統 - 海基會」 插件,如果你不需要海基會

2)如果你需要SEF -

添加

ini_set('pcre.backtrack_limit',1000000); 

ini_set('pcre.backtrack_limit',1000000); 
ini_set('pcre.recursion_limit',1000000); 

到您的模板的index.php。

0

添加在開始

set_time_limit(0); 
+0

剛剛嘗試...這並沒有幫助.. – ihtus 2013-04-26 20:34:32