Apache2 - 更改特定 url 的 php 内存限制

Apache2 - Changing the php memory limit for specific urls

我想知道是否可以为特定的 url 更改 php_value memory_limit。

我试过使用 ini_set('memory_limit', '256M'),并将 suhosin memory.limit 设置为 256M,但它不起作用,每当我这样做时 var_dump(ini_set('memory_limit', 256M)) 我只是得到 bool(false).

我想知道是否有一种方法可以更改 httpd.include 来更改特定 url 的 php 内存限制。目前我有这个:

<LocationMatch "docs/download/">
        php_value memory_limit "256M"
</LocationMatch>

所以如果我在 url 中导航到 docs/download/ 我希望它达到内存限制,但是 ini_get('memory_limit') 仍然只 returns memory_limit 在 .htaccess 中设置为 128M。

好的,我实际上已经解决了这个问题。这是 Suhosin 的问题。我已经更改了 /etc/php5/conf.d 中的文件,但是 /etc/php5/apache2/conf.d 中还有另一个 Suhosin 文件我没有更改。这样做解决了这个问题。

您需要为两个参数使用一个字符串。

ini_set('memory_limit', '256M');

此外,由于语法错误,ini_set 的结果为 false,对其调用 var_dump 只会显示集合的结果,而不是其报告的值。为此你需要 ini_get

echo ini_get('memory_limit');

好的,我实际上已经解决了这个问题。这是 Suhosin 的问题。我已经更改了 /etc/php5/conf.d 中的文件,但是 /etc/php5/apache2/conf.d 中还有另一个 Suhosin 文件我没有更改。这样做解决了问题。