2010-07-30 58 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