我想顯示一個包含8500條記錄的表,我使用的控制器/模型函數與我在整個網站中使用的所有工作正常相同。Codeigniter - 試圖檢索8500記錄時的空白屏幕
在這個頁面上,我只是看到一個空白屏幕。這是Codeigniter的一個已知問題嗎?有沒有解決辦法?我完全難住,我猜想我唯一的選擇是將表分成子表?
如果需要,我可以告訴你我的代碼。
感謝
丹
我想顯示一個包含8500條記錄的表,我使用的控制器/模型函數與我在整個網站中使用的所有工作正常相同。Codeigniter - 試圖檢索8500記錄時的空白屏幕
在這個頁面上,我只是看到一個空白屏幕。這是Codeigniter的一個已知問題嗎?有沒有解決辦法?我完全難住,我猜想我唯一的選擇是將表分成子表?
如果需要,我可以告訴你我的代碼。
感謝
丹
當有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.
你希望這有助於你得到的地方。 你最好的辦法就是看你的錯誤日誌。
祝你好運。
是,簡單偉大 – 2010-07-30 09:36:45
感謝您的投入保羅。 該應用程序位於共享服務器上,因此我無法直接訪問php.ini 但這些指令的最佳位置在哪裏?在我的控制器或視圖文件? 例如 ini_set(「memory_limit」,「256M」); // 256兆字節 – 2010-07-30 09:56:49
丹,然後把它們放在.htaccess文件中。 htaccess覆蓋php.ini中同一目錄和所有子目錄中的所有文件。我更新了更多.htaccess指令,您可以指定 – 2010-07-30 10:02:08
請向我們展示代碼:)行數絕對很小,不應該是一個問題。另外,請檢查錯誤日誌。 – Piskvor 2010-07-30 09:20:02