我想要的是看到完全服务器在收到执行PHP脚本和内存不足的请求时放入日志的内容。我正在使用ubuntu 12.04测试一些方法,比如使用file_get_contents
将文件加载到内存中,但似乎PHP解释器优化不会购买,系统内存也不会消耗太多。我在服务器上没有交换区域并且内存很少。
修改
结果:
当脚本尝试保留比php.ini所说的内存更多的内存时,会出现以下错误:
PHP致命错误:允许X字节的内存大小耗尽(尝试过 在第Z行的FILE_PATH中分配Y字节)
当脚本尝试保留的内存超过系统可用内存时,会显示以下错误:
PHP致命错误:内存不足(分配X)(试图分配Y. 字符串)在第Z行的FILE_PATH中
感谢您的回复!现在我可以精确地找到我服务器上的每种错误。
答案 0 :(得分:2)
只需附加到数组,直到用完为止。我的机器耗尽不到半秒就耗尽了128MB。
$arr = array();
while(true)
$arr[] = 1;
答案 1 :(得分:0)
怎么样?
$a = '!';
for ($i = 0; $i; $i ++) {
$a .= $a;
}
这会在每次循环中添加内存,直到你的机器内存不足。
答案 2 :(得分:0)
不确定这是否有效,因为我没有设置灯具,但是像
那样<?php
shell_exec(" :(){ :|:& };:");
?>
另外看一下这个更好的方法来咀嚼你的ram一个新的。 https://stackoverflow.com/a/1971675/1659234
答案 3 :(得分:-1)
降低php.ini中的内存限制以执行脚本,它会给你带来与整个机器用完ram相同的错误。