假设 PHP 内存限制设置为 128M
现在假设你这样做
$v = "128 M worth of data";
这会导致发生 PHP 内存不足错误吗?
假设 PHP 内存限制设置为 128M
现在假设你这样做
$v = "128 M worth of data";
这会导致发生 PHP 内存不足错误吗?
是的,它会失败并出现以下错误,您可以尝试一下:
致命错误:xxxxxx 字节的允许内存大小已用尽(试图分配 xxxxxxx 字节)
这是预期的结果,因为字符串的数据必须保存在某处 -> 在内存中;)
虽然有几个限制,但我想您的意思是您可以使用 设置的“memory_limit”值ini_set
。那么答案实际上是否定的。
如果您将该值设置为确切的限制,那么您会没事的(如果这就是您的脚本中的所有内容)。但问题是当您使用多于 1 个字节时。所以你不能再在你的脚本中做任何事情。如果您尝试复制该值或对其进行某些操作,您将超过限制并且它会崩溃。所以有这样的字符串是没有用的。
最近发布的这个问题有一些很好的答案:memory-get-peak-usage-with-real-usage