我有一个名为memory_usage_test.php的文件。就像这样:
// memory_usage_test.php
<?php
echo memory_get_usage();
?>当我运行它时,输出是58480,当我刷新页面时,输出将是58704。为什么?为什么会有更多?我怎么才能修好它呢?
编辑:
我是通过var_dump()完成的:这是我的新文件:
<?php
echo memory_get_usage().'<br>';
echo '<pre>';
var_dump($_SERVER);
?>这是我的输出:
// just different
// ---------------------------first time-------------------------
array(31)
{
["REMOTE_PORT"]=>
string(5) "62909"
["REQUEST_TIME"]=>
int(1435672670)
}
// ---------------------------refreshed-------------------------
array(32)
{
["HTTP_CACHE_CONTROL"]=> // This line is added
string(9) "max-age=0"
["REMOTE_PORT"]=>
string(5) "63644"
["REQUEST_TIME"]=>
int(1435673309)
}发布于 2015-06-30 13:31:40
就连我也有同样的问题。这是由于浏览器缓存。您将在每个浏览器上看到不同的值。因为每个浏览器都有自己的缓存技术。打开新页时,请求标头不强制使用缓存控制参数。刷新时,浏览器将在请求标头中传递以下参数。
缓存-控制-最大年龄=0
即使您尝试了匿名模式,您也会看到第一次打开链接并刷新链接的不同结果。我试图通过禁用缓存来修复这个问题。会让你知道一旦做了。
您可以通过ini_set限制内存的使用(“内存限制”,);
发布于 2015-06-30 13:15:50
正如评论中“欺骗”所提示的那样:
这似乎是新请求/当前请求之间的区别。如果您在一个新的私有浏览器窗口中访问该页面,您会注意到它再次下降。如果您刷新,它会上升一次,并停留在那里。
如果您比较$_SERVER,您会注意到两种请求类型之间的变化。
第二个请求有一个额外的变量(至少在我的机器上):
'HTTP_CACHE_CONTROL' => "max-age=0" 这也许可以解释为什么会有一点点额外的记忆。
老实说,这里真正的答案是:这不重要。这是一个如此微小的差别,而不像它不断上升。它只是服务器处理后续请求的方式不同于新请求(正如预期的那样),因为您的浏览器将以不同的方式请求页面(由于缓存控制头)。这是正常的,也是预料之中的。
https://stackoverflow.com/questions/31138633
复制相似问题