为什么PHP有时会返回空白页而没有错误?

时间:2012-02-28 04:08:21

标签: php

我使用PHP进行编程竞赛(糟糕的选择,我知道。但它是我唯一擅长的语言)。通常,当我创建一个非常大的变量时,PHP会返回一个空白页面。没有错误产生。

例如,如果我有这样的脚本:

<?php
echo 'test';

$var=array();
for($i=0;$i<9999999999;$i++){
  $var[]=$i*9999999999;
}

不输出任何输出;甚至不是“测试”。

有没有办法阻止这种情况?

P.S。脚本通常会在大约2-3秒内快速终止。这让我认为PHP正在终止脚本而没有到达终点。

1 个答案:

答案 0 :(得分:3)

很可能你得到了一个

Fatal error: Allowed memory size of 134217728 bytes exhausted

可以采取一些措施来改变这一点并显示错误。一种是更改php.ini文件中的错误报告或添加

error_reporting(E_ALL);
ini_set("display_errors", 1);

位于代码顶部。第二个是增加允许的大小。

你正在使用大量内存试图将这么大的数字乘以多次。你试图这样做的原因是什么?是否有不同的方式可以做同样的事情?

以下是您可以使用的一些资源

增加尺寸http://www.mydigitallife.info/php-allowed-memory-size-exchausted-fatal-error/

错误报告http://php.net/manual/en/function.error-reporting.php

如果你不需要我那么高(9999999999)似乎真的很高。缩小尺寸。

您可能遇到的另一个问题是

Fatal error:  Maximum execution time of 60 seconds exceeded

如果必须,您可以随时增加执行时间。

最长执行时间http://php.net/manual/en/function.set-time-limit.php

Increase max execution time for php

所有这一切都取决于你得到的错误,并从显示错误报告开始,这将有助于确定手头的真正问题。

相关问题