Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果超过一定大小,PHP Smarty模板将失败,无限期地耗尽PHP内存限制_Php_Smarty - Fatal编程技术网

如果超过一定大小,PHP Smarty模板将失败,无限期地耗尽PHP内存限制

如果超过一定大小,PHP Smarty模板将失败,无限期地耗尽PHP内存限制,php,smarty,Php,Smarty,我正在为一个网站使用PHP Smarty模板。我注意到一个基于Smarty的JS文件今天无法加载。起初,我认为这是一个语法错误,但当它超过某个文件大小限制时,我能够将其减少到失败 确切地说,如果我的文件大小超过109049字节,smarty页面将不会加载。因此,在该值或以下就可以了,如果我键入一个额外的字符并保存,则不会。它显示为空,编译的smarty php文件也几乎为空 是否有上限,或者它是否会超出某个php内存限制?这个文件大约有2990行长,是我最大的Smarty tpl文件 编辑: 更

我正在为一个网站使用PHP Smarty模板。我注意到一个基于Smarty的JS文件今天无法加载。起初,我认为这是一个语法错误,但当它超过某个文件大小限制时,我能够将其减少到失败

确切地说,如果我的文件大小超过109049字节,smarty页面将不会加载。因此,在该值或以下就可以了,如果我键入一个额外的字符并保存,则不会。它显示为空,编译的smarty php文件也几乎为空

是否有上限,或者它是否会超出某个php内存限制?这个文件大约有2990行长,是我最大的Smarty tpl文件

编辑:

更新PHP错误报告没有帮助,但添加这两条smarty行确实有帮助: $smarty->调试=true; $smarty->error\u reporting=E\u ALL

下面给出了一些smarty调试信息。正在超出“内存限制”。我试图将它从512MB默认值提高到基本无限(10GB),但它总是超过它

为什么它会消耗无限的内存


致命错误:第36行的/domain.com/lib/Smarty/libs/plugins/modifier.debug_print_var.php中内存不足(已分配2059141120)(尝试分配175325字节)

我认为大小与此无关。我过去使用smarty,有超过10000行的模板。我怀疑那里少了些什么——很可能是在某个条件反射中。在php中启用完整的错误报告,看看是否有错误。这是错误提示。它提供了更多信息,超出了内存限制,尽管我不确定是什么原因造成的。过去我尝试调试输出一个巨大的数组(25K个条目,每个条目都是一个包含数百个字段的对象,其中一些是进一步的数组和对象)时,内存分配超过了错误。查看代码,看看您试图在内存中加载太多内容的地方。提示:
mysqli_fetch_all
PDO::fetch_all
可能是根本原因。