I have tried setting the limit in php.ini but I always get the same error:
Allowed memory size of 262144 bytes exhausted (tried to allocate 341351 bytes) in Unknown
As php-cli has a different ini file, this often leads to misconfiguration.
What we can do, for a «unix shebang» php shell script, is to set ini keys on the fly directly on the shebang line, like so:
#!/usr/bin/php -d memory_limit=512M
Then to see if php had understood, using phpinfo():
./myphpProg | grep memory
Correct shell output should contain:
memory_limit => 512M => 512M
To better understand shebangs scripting, doing the above is similar as running the same file from the interpreter:
php -d memory_limit=512M myphpProg