2010-07-30 53 views
1

我想顯示一個包含8500條記錄的表,我使用的控制器/模型函數與我在整個網站中使用的所有工作正常相同。Codeigniter - 試圖檢索8500記錄時的空白屏幕

在這個頁面上,我只是看到一個空白屏幕。這是Codeigniter的一個已知問題嗎?有沒有解決辦法?我完全難住,我猜想我唯一的選擇是將表分成子表?

如果需要,我可以告訴你我的代碼。

感謝

+1

請向我們展示代碼:)行數絕對很小,不應該是一個問題。另外,請檢查錯誤日誌。 – Piskvor 2010-07-30 09:20:02

回答

5

當有88黑屏它通常意味着你已經做了一些收到一個PHP錯誤。

要查看錯誤是什麼,請檢查php錯誤日誌。我懷疑你已經超過了最大允許的內存限制。

php_value memory_limit 256M 
php_value display_errors 1 
php_flag log_errors on 
php_value error_log /some/path/on/the/box/you/have/acess/to.log 

下面是硬編碼的PHP的方法來啓用設置,上述這條線,你可以設置將踢你的整個應用程序的.htaccess指令。

要確保錯誤報告被打開,你就顯示錯誤信息,你可以做..

ini_set('display_errors', 'On'); 
error_reporting(E_ALL); 

要找出你的錯誤日誌進行測試腳本來告訴你。

die(ini_get('error_log')); 

確保在php.ini文件中啓用了log_errors ini設置。

如果它確實是,你超過允許的最大內存限制,你可以通過做

ini_set(「memory_limit」,」256M」); // 256 megabytes 

我建議您在php.ini文件更新這個並重新啓動Apache就可以使更改踢它增加

如果您的腳本處理大量數據並且需要一段時間才能運行,那麼您可能還會超出max_execution_time ini設置。

要查看它的當前設置,你可以做

die(ini_get('max_execution_time')); 

有一個很好的PHP的輔助功能可按設定此爲set_time_limit

set_time_limit(300); // Input in seconds, this is 5 minutes. 

你希望這有助於你得到的地方。 你最好的辦法就是看你的錯誤日誌。

祝你好運。

+0

是,簡單偉大 – 2010-07-30 09:36:45

+0

感謝您的投入保羅。 該應用程序位於共享服務器上,因此我無法直接訪問php.ini 但這些指令的最佳位置在哪裏?在我的控制器或視圖文件? 例如 ini_set(「memory_limit」,「256M」); // 256兆字節 – 2010-07-30 09:56:49

+1

丹,然後把它們放在.htaccess文件中。 htaccess覆蓋php.ini中同一目錄和所有子目錄中的所有文件。我更新了更多.htaccess指令,您可以指定 – 2010-07-30 10:02:08