使用ini_get('memory_limit')将获得 php.ini 文件中指定的内容(我认为)。但是如果我运行ini_set('memory_limit', 'somethingInsanelyHigh')然后ini_get(..)再次运行,它将返回我之前设置的内容。这让我相信没有真正的方法来增加内存限制并检测它是否真的增加了,是吗?
什么是ini_set(..)真正做到?它只是在某处更新变量还是实际上增加了限制?如果是这样,我怎么知道它是否有效?
ini_set成功或FALSE失败时返回旧值。所以你可能想检查一下:
if (ini_set('memory_limit', 'somethingInsanelyHigh') === false) {
// cannot set memory_limit
}
Run Code Online (Sandbox Code Playgroud)
另外,考虑到这将设置当前 PHP 进程将占用的最大内存量,因此如果您要对该脚本有多个并发请求,您将需要一些合理的东西,以防您的脚本真的吃掉了这么多内存。
还将其设置为-1意味着没有内存限制。
编辑:禁用内存限制是将值设置为-1,而不是将其设置为0。
| 归档时间: |
|
| 查看次数: |
9239 次 |
| 最近记录: |