首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么PHP有时会返回空白页而不返回错误?

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

Stack Overflow用户
提问于 2012-02-28 12:08:21
回答 1查看 6K关注 0票数 2

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

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

代码语言:javascript
复制
<?php
echo 'test';

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

不会输出任何输出;甚至"test“也不会输出。

有没有办法防止这种情况发生?

附言:脚本通常会在大约2-3秒内快速终止。这使我认为PHP正在终止脚本,而不是到达结尾。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-28 12:30:19

更有可能的是你得到了一个

代码语言:javascript
复制
Fatal error: Allowed memory size of 134217728 bytes exhausted

有几件事可以改变这一点并显示错误。一种是更改php.ini文件中的错误报告,或者添加

代码语言:javascript
复制
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)似乎真的很高。减小大小。

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

代码语言:javascript
复制
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

实际上,所有这些都取决于您得到的错误,并且从显示错误报告开始,这将有助于确定手头的真正问题是什么。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9476233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档