suhosin.memory_limit不允许PHP使用更多的内存

我有一个PHP memory_limit是256M的服务器。 一些脚本需要更多的内存,并执行ini_set('memory_limit','256M'); 但是因为Suhosin被安装并激活,所以我在日志文件中find了这个

Sep 17 14:06:42 www-01 suhosin[28934]: ALERT - script tried to increase memory_limit to 536870912 bytes which is above the allowed value (attacker '127.0.0.1', file '/xxx/generate_docs.php', line 45) 

但是suhosinconfiguration有

 suhosin.memory_limit = 2048M 

PHP memory_limit和suhosin.memory_limit值都由phpinfo()确认。 为什么PHP不能要求这个设置更多的内存?

这个脚本运行良好的任何内存限制值低于256M,但是对于更高的价值,我得到的错误和memory_limit不会改变。

 <?php echo ini_get('memory_limit') . "<br>"; ini_set('memory_limit', '512M'); echo ini_get('memory_limit') . "<br>"; echo ini_get('suhosin.memory_limit') . "<br>"; echo "end<br>"; 

输出是

 256M 256M 2048M end 

哈利路亚。 问一个问题帮我find问题。

通过将suhosin.memory_limit设置为1024(2048用于边缘值testing),它运行,我的脚本告诉我

 256M 512M 1024M end 

同样的问题,因为https://stackoverflow.com/questions/9276212/php-settings-memory-limits-1024m-does-not-work/16854780#16854780 (同样的服务器,顺便说一句)