Codeigniter - 尝试检索8500条记录时出现空白屏幕

时间:2010-07-30 09:17:22

标签: php mysql database activerecord codeigniter

我正在尝试显示一个包含8500条记录的表格,我使用的是与我在整个网站中使用的相同的控制器/模型功能,这些功能都可以正常工作。

然而,在这个页面上,我只看到一个空白屏幕。这是codeigniter的已知问题吗?有工作吗?我完全难过,我猜我唯一的选择是将表拆分成子表吗?

如果需要,我可以告诉你我的代码。

由于

1 个答案:

答案 0 :(得分:5)

当你设置一个空白屏幕时,通常意味着你已经做了一些事情来接收PHP错误。

要查看该错误是什么,请检查php错误日志。我怀疑你已经超过了maximimim允许的内存限制。

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.

希望这可以帮助你到达某个地方。 您最好的选择是查看错误日志。

祝你好运。