【发布时间】:2014-01-27 09:27:12
【问题描述】:
嗨,我在我的 php 网站上遇到了白屏死机,这只发生在特定的查询中,我似乎找不到任何错误。我尝试查看 var/logs/apache2 并查找 php 错误日志,但没有。
我正在使用 yii。我有一个列出过滤内容的页面。在我的控制器中,我有一个查询:
$model= Person::model()->findbyPk('12345');
$list = $model->contacts;
“联系人”是“人”模型的关系,列表是我应该显示的内容。如果我用键“12345”、“14256”和“23489”查询人,页面将正确显示。但是当我查询一个特定的“10012”时,它会给我一个没有错误和没有样式格式的白屏。只是一个空白屏幕。而且它的加载时间也比其他查询长。我尝试记录它并检查共享数据/运行时,但它甚至不会到达控制器。它只是发生在这个特定的人身上。
这似乎是最可能的原因?
【问题讨论】:
-
您的数据库中是否存在人员 ID 为 10012 的条目?如果数据库中没有匹配的行,您的
findbyPk()方法会返回什么?也许你应该在取消引用之前检查$model看看它是否是一个对象。 -
你能添加一些调试信息吗?可能如here 所述。尝试使用该特定 id 设置一些单元测试并查看那里报告的任何错误。
-
在您的 php 应用程序之外运行该查询并查看它返回的内容。白屏通常表示数据过多。
-
将返回的值保存到会话变量中,使用 id 检查进程是否正常运行,然后转储会话变量,告诉我们结果如何。
-
抱歉回复晚了,@DanBracuk 是对的。如果您的评论只是一个答案,请支持它。我认为我遇到了太多数据。我确定我有 12345 型号,因为我自己在数据库上检查过它。联系人太多了。
标签: php mysql sql yii error-log