WordPress などを使っていると PHP スクリプトがサーバーに割り当てられたメモリをオーバーして使用している際に遭遇する。
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 19456 bytes) in ....
そこで、メモリーを増やすことに。設定は /etc/php.ini に。
memory_limit = 16M
から
memory_limit = 32M
に変更して保存。
Apacheを再起動して確認。
あらら、またまた同じエラーが。
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 19456 bytes) in ....
phpinfo() で確認すると、memory_limit の項目が Master Value では 32M。Local Value では 16M と php.ini で設定された値とは別に .htaccess や httpd.conf など他のどこかで設定されているようだ。
サーバーに ServersMan@VPS を使っている場合、いろいろ探してみるとサブドメインの設定 (/etc/httpd/conf.d/subdomains/site1.xxx.conf) に該当箇所があった。削除するか、
php_admin_value memory_limit 16M
から
php_admin_value memory_limit 32M
に変更保存。
再びサーバ再起動。
/etc/init.d/httpd restart
phpinfo() でも Master Value と Local Value が同じ 32M を確認。
きちっとメモリーが割り当てられた。