我不知道这是为什么或如何发生的,但出于某种奇怪的原因,我的服务器上的PHP脚本一旦利用ini_set试图影响memory_limit设置,就会导致脚本完全崩溃。没有错误消息,什么都没有。如果我通过浏览器调用脚本,我得到的只是一个空白页面。
有什么线索吗?
更新:
运行"免费"返回
total used free shared buffers cached
Mem: 8190820 7922056 268764 0 565124 6598656
-/+ buffers/cache: 758276 7432544
Swap: 2102456 0 2102456
是什么东西占据了我的记忆吗?
运行ps aux|grep apache会出现"错误:不支持的选项(BSD语法)"
手动检查时,我发现了一整行引用:
/usr/sbin/apache2 -k start
全部内存使用率约为0.3%,由"www data"所有。
可怕的是,"ps aux"列出的进程都没有使用超过0.8%的内存。如果我把列出的所有百分比加起来,我永远不会根据"免费"告诉我的内容到达我应该到达的位置
我似乎记得请求任何超过2GB的内容都有问题。我认为2GB至少在某些版本的PHP中是一个神奇的截止值。
尝试使用以下代码:
ini_set('memory_limit', '-1');