我的 PHP 脚本出现问题,收到以下错误消息:
Fatal error: Out of memory (allocated 359923712) (tried to allocate 72 bytes) in /path/to/piwik/core/DataTable.php on line 969
我正在运行的脚本是: /path/to/piwik/misc/cron/archive.sh
我假设数字是字节,这意味着总数约为 360MB。
出于所有意图和目的,我已将服务器的内存限制增加到远高于 360MB,但这是它始终出错的数字(给予或接受一个字节)。
请注意:这个问题不是关于修复脚本中的内存泄漏,也不是关于脚本本身使用这么多内存的原因。该脚本是 Piwik 归档过程的一部分,所以我不能只修复任何内存泄漏等。有关此脚本的更多信息以及我增加内存限制的原因,请参阅“如何设置自动归档”
鉴于脚本试图使用超过 360MB 的内存,我无法更改,为什么我似乎无法增加服务器上 php 可用的内存量?
6 月 23 日更新:请参阅下面的“我尝试过的内容”>“增加 Linux 的每个进程内存限制”以了解背景......如果我设置了ulimit -v 1024000,然后检查它ulimit -v我得到了正确的“1024000”值。如果我再次运行该脚本,它将继续前进,但最终会在达到相同的内存限制 (~360MB) 时出错。如果我立即检查ulimit -v,它已重置为“524288”的原始值。这似乎是问题的根本原因。
增加 PHP 的 memory_limit
鉴于 php.ini 文件:
php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration …Run Code Online (Sandbox Code Playgroud)