我在我的 中收到很多以下错误消息/var/log/syslog
:
May 27 10:29:58 ********* suhosin[30143]: ALERT - script tried to increase memory_limit to 2145386496 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file 'unknown')
我的memory_limit
和我的suhosin.memory_limit
都设置为3072M
为什么 suhosin 不允许增加到 2145386496 字节(2046M),低于设置的 memory_limit 和设置的 suhosin.memory_limit?
答案1
按照建议设置内存限制似乎在 PHP 5.5.15 和 Suhosin 扩展 0.9.36 以及 64 位机器上工作正常。Suhosin 对内存限制 > 2GB 的支持是在 2010 年的 0.9.32 版本中添加的。
概念证明:
php -d suhosin.memory_limit=3072M -d memory_limit=3072M -d suhosin.log.sapi=2 -r "ini_set('memory_limit', '2048M');"
php -d suhosin.memory_limit=3072M -d memory_limit=3072M -d suhosin.log.sapi=2 -r "ini_set('memory_limit', '4048M');"
ALERT - script tried to increase memory_limit to 4244635648 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file 'Command line code', line 1)