経験知ロゴ

PHPの「Unable to allocate memory for pool.」というエラーの対処法

server-error-log
めったに見ないサーバーのエラーログを見ていたら

PHP Warning:  require_once(): Unable to allocate memory for pool.・・・

というエラーが大量に出ていたので、解決方法のメモ。

解決方法

このエラーはAPC関連の問題らしい。

エラーを読んでみると「メモリの配分ができないよ」みたいなことを言っているので、

vi /etc/php.d/apc.ini

のファイルサイズを変更

apc.shm_size=64M
↓
apc.shm_size=128M

64Mしか割り当てられていなかったのを倍の128Mにしてみた。

PHPを再起動。

# service php-fpm restart

これで様子を見た所エラーが出なくなった。

わからないことは人に聞こう

プログラミングをする上で、わからないことはネットなどを使い自分で調べる技術が必要ですよね。

時間がかかっても、ある程度のことは解決できます。

しかし、どうしても答えにたどり着けなかったり、探す時間が惜しいときもあります。

そこでオススメなのが無料登録でプログラミングに関する質問ができるテラテイルです。

質問の投稿にコードも投稿できるので、自分のコードを投稿して問題のある箇所を指摘してもらうことができます。

プログラマーには、自分で探す技術も必要ですが、人に聞く技術は更に重要です。

登録無料で質問できますので、テラテイルで質問する力を磨いてみましょう!

おわりに

サーバーのエラーログを見てもわからないと思い今まで見てきませんでした。

しかし、エラーが出ているということはサーバーに多少なり負荷をかけているので、サーバーリソースを確保する意味でエラーログを見る習慣をつけます。

▼役に立ったらシェアをお願いします