Some days ago I found myself on front o f a problem: my unit tests failed because of lack of PHP memory.
This were the tedious error:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 16640 bytes)
As I use CodeShip.io as continuous delivery server, I had to increase the PHP memory_limit
on their systems, but… how?
So I googled for a solution, but nothing helped me.
The last chance were to contact the support. As ever, the astonishing CodeShip.io’s support replied me with this email:
PHP is limited to
256MB
memory by default on the build VMs (which you just barely exceeded it). But you have access to thephp.ini
and can configure the limit yourself. The file is located at${HOME}/.phpenv/versions/${YOUR_PHP_VERSION}/etc/php.ini
and e.g. the following sed call would achieve increasing the limit
sed -i'' 's/^memory_limit=.*/memory_limit = 512m/g' .phpenv/versions/5.6/etc/php.ini
So, a simple line in my setup commands, increased the default php memory_limit
:
sed -i'' 's/^memory_limit=.*/memory_limit = 512m/g' ${HOME}/.phpenv/versions/5.6/etc/php.ini
Remember to “Make. Ideas. Happen.”.
I wish you flocking users, see you soon!
Roy says
Hey, that solved the same problem I had come across with codeship! Thanks!
Oliver Davies says
I would suggest using `$(phpenv version-name)` to get the PHP version, rather than hard-coding it. It’s likely to be different for different people or at different times.
There are a list of available environment variables at https://documentation.codeship.com/basic/builds-and-configuration/set-environment-variables.
Aerendir says
Great suggestion! Thank you!