PHP死于预防死亡之白?

时间:2011-07-12 19:59:53

标签: php joomla exit die wsod

我试图在Joomla 1.5上使用php 5.3.5枚举一个完全有效的数组。每当我尝试访问阵列时,我都会看到死亡的白屏。如果我在之后添加了一个die()语句,那么我得到了数组,(但当然,在此之后执行停止)。我故意在数组调用和die()之后没有代码用于调试目的。移除骰子不会回显阵列。有没有其他人之前有这个问题?

编辑:是的,启用了错误检查。 WSOD是BLANK。

**in the View class:**

$seminarsRefDB =& JFactory::getDBO();
                $seminarsRefQuery = [MYSQL STUFF]
                $seminarsRefDB->setQuery($seminarsRefQuery);
                $seminarsRefList = $seminarsRefDB->loadAssocList();


for($i=0; $i<count($seminarsRefList); $i++) {

$classAppendix = $i;
                $seminarselects[] = JHTML::_('select.genericList', $seminar_options, 'seminar_title[]', 'class="seminardropdown" style="width:200px;"', 'value', 'text', $seminarsRefList[$i]['value'], 'seminar'.$classAppendix);
            };



$this->assignRef('seminarsArray', $seminarselects);


**In the Default Template**

print_r($this->seminarsArray[0]);
die;

END

我有另一个名为speakersArray的数组,它完美地回应。我从我网站的后端逐字复制了这段代码,其中两个阵列都没有显示任何问题。

使用get_included_files,默认模板是最后一个文件,因此执行停止。

2 个答案:

答案 0 :(得分:4)

你应该打开display_errors并将error_reporting打开到E_ALL,这样你就不会得到白屏死机并让你的服务器告诉你它有什么错误。

听起来,如果它是一个大数组并且你传递它,你可能会在代码中的某个点耗尽内存。通过在阵列后面放置一个模具,您可能还没有达到该阈值。

答案 1 :(得分:0)

虽然iLLin的方法适用于开发测试,但对于实时网站来说这是不好的做法。假设您有权访问您的服务器,请查看错误日志文件以了解此处发生的情况。

tail -f error_log