Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ini_set("memory_limit") in PHP 5.3.3 is not working at all

I had this working before :

echo ini_get("memory_limit")."\n"; ini_set("memory_limit","256M"); echo ini_get("memory_limit")."\n"; 

That would input this :

32M 256M 

on a php script executed by command line. I updated from 5.2 to 5.3, and from now, this directive is not working at all : this gives me :

32M 32M 

and then make my script fail with a fatal Error...

I checked the php documentation, and googled it, and I didn't find anywhere that "memory_limit" had been deprecated.

Does anyone have a solution?

like image 456
Ant Avatar asked Feb 21 '11 03:02

Ant


1 Answers

Most likely your sushosin updated, which changed the default of suhosin.memory_limit from disabled to 0 (which won't allow any updates to memory_limit).

On Debian, change /etc/php5/conf.d/suhosin.ini

;suhosin.memory_limit = 0

to

suhosin.memory_limit = 2G

Or whichever value you are comfortable with. You can find the changelog of Sushosin at http://www.hardened-php.net/hphp/changelog.html, which says:

Changed the way the memory_limit protection is implemented

like image 154
Wouter van Eekelen Avatar answered Sep 18 '22 19:09

Wouter van Eekelen