Fix of "Unable to allocate memory for pool." PHP
error messages
Since some time, I don't know exactly where, after some updates of
my
Wordpress running on a small server with FreeBSD 7.2.
I've started getting a lot of Apache crashes. Often the wordpress
scripts stopped working completely and I got only empty pages when
trying to process the wordpress blog in a browser.
After a bunch of reading online, I've figured out that the cause
might be
PHP APC stands for
Alternative PHP Cache
.
I was not sure if the PHP running on the server had an
APC
configured at all so I used a
phpinfo(); script to figure
out if I had it loaded. I saw the APC among the loaded to show off
in the list of loaded php modules, so this further led me to the
idea the
APC could be really causing the unexpected
troubles.
Thus first I decided to
disable the APC on a Virtualhost
level for the domain where the crashing wordpress was hosted,
to do I placed in the VirtualHost section in the Apache
configuration
/usr/local/etc/apache2/httpd.conf the
following config directive:
php_flag apc.cache_by_default Off
These get me rid of the multiple errors:
PHP Warning: require_once() [function.require-once]: Unable to
allocate memory for pool. in
/usr/local/www/data-dist/blog/wp-content/plugins/tweet-old-post/top-admin.php
on line 6
which constantly were re-occuring in
php_error.log:
Further after evaluating all the websites hosted on the server and
making sure none of which was really depending on
APC , I've
disabled the APC completely for PHP. To do so I issued:
echo 'apc.enabled = 0' >>
/usr/local/etc/php.ini
Similarly on GNU/Linux to
disable globally APC from PHP only
the correct location to
php.ini should be provided on Debian
this is
/etc/php5/apache2/php.ini .