1
6
编辑:很明显,仅仅因为脚本加满而提高内存限制应该会引起一些危险,但在我看来,这是一个合法的情况——例如,脚本实际上产生了相当大的输出块。因此,您必须存储输出 ,而且出于性能和方便性的考虑,内存似乎是最佳选择。 我还应该注意,内存限制设置只是一个限制。不消耗太多内存的脚本不会因为您提高了限制而消耗更多内存。它存在的主要原因是为了防止行为不端/有缺陷的脚本破坏整个服务器。如果有很多业余爱好者在共享主机上进行黑客攻击,那么这一点非常重要(PHP在这方面已经被大量使用)。因此,如果这是您自己的服务器,或者至少您通常知道自己在做什么,那么低内存限制并没有什么好处。 |
2
2
|
3
2
如果PHP错误是缓冲输出的唯一原因,请考虑使用StIGErrRoxHuffer-Load。使用此函数,您可以为脚本中的错误定义自定义回调。使用它将消息保存在某个位置,然后打印出来。 |
4
2
我的建议是尝试分阶段加载该文件,或者将其拆分为更小的部分以供包含。您如何做到这一点在很大程度上取决于文件是什么,但它允许您以2mb块的形式加载它,如果它不产生任何错误,那么您可以使用
您可能还想查看一种在加载模板之前预先验证模板的机制,这样就不必担心错误会蔓延到页面中。 虽然更改内存限制将在短期内“解决”问题,但这不是一个长期的解决方案,因为如果可能,肯定要避免这种内存使用。一般来说,如果可以避免的话,您根本不想将任何大的数据加载到内存中,或者尽早将其吐出,因为这意味着数据至少正在发送给用户的过程中,这减少了页面到达第一个字节的时间。 |
5
1
若要因输出而耗尽内存,必须输出大量数据或内存限制非常低。大约4年前,8mb的内存限制是很常见的,也是合理的。但是随着使用对象和更好的编码风格的转变,我所遇到的脚本的内存使用量增加了。 memory_get_usage() 将返回此时脚本使用的内存量。 您当前运行的内存限制是多少?您是否在共享环境中运行? 目前,根据服务器的不同,我的内存限制在64到128之间。 如果只是要增加限制的脚本的特定子集,则可以按每个脚本执行:
如果您不想限制脚本,可以将其设置为-1 |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |