CEOブログ

横浜で活躍するホームページ作成・開発会社アットライズの代表取締役社長(CEO)が綴る、日々の奮闘記!!

備忘録

[備忘録]「PHP Fatal error: Allowed memory size of xxxx bytes」エラーの対処

投稿日:

メモリスペックの低いテストサーバーに移植したらエラーに。。

とあるサイトの検証用に、テストサーバーを構築し ファイル・DB等を移植し 環境を整備した。
そして、いざ 当該サイトを表示してみると、、DBから読み込んで表示する動的コンテンツが表示エラーになっていた。。。

「PHP Fatal error: Allowed memory size of xxxx bytes exhausted」エラー

エラーログを確認したら「PHP Fatal error: Allowed memory size of xxxx bytes exhausted」エラーが出ていた。

本番サーバーと比べ、テストサーバーは(PHP、mysql等のバージョンは同じものの)CPU、メモリ等は低スペックなため、メモリが使い果たされてしまったようだ。。

phpinfo.php で見てみると、「memory_limit」の値は「64M」しかない。。
 

「memory_limit」の値を変更する方法

※今回は、下記「■2」の方法で対処した。

■1.「php.ini」にメモリーサイズを指定
php.ini ファイルに、以下の記述を追記
—–
memory_limit = 512M
—–

これをアップしてサーバー再起動。
 
 
■2.「.htaccess」にメモリーサイズを指定
参考:https://faq.zenlogic.jp/faqs/FAQ01187
.htaccess ファイルに、以下の記述を追記
—–
php_value memory_limit 512M
—–
 
phpinfo.phpで確認すると、上記■1ではmemory_limit値は変わらなかったが、■2では「512M」に変わっていた!
そして、この状態で改めてサイト表示すると、エラーなく無事表示された♪
 
 

-備忘録

関連記事

[備忘録]Linux sedコマンド:再帰的に置換する方法

sedコマンドで配下ディレクトリ全ファイル対象に再帰的置換する 例えば、サーバー移転などを行っていると、「ドメイン名の変更」「ディレクトリパスの変更」「DB名の変更」などで、全ての記述を変更したい場合 …

[備忘録]さくらインターネット:海外からのメール送信がNGになる件

海外からメール送信しようとするとNGになった。。 弊社ではお客様のサイト(自社も)を管理するサーバーで、「Webサーバー」と「メールサーバーを別々に運用・管理している。 理由としては、 ① Webサー …

[備忘録]ブラウザに表示されるURLを書き換える方法

メールフォームの重複送信対策 メールフォームの完了メールが重複して何度も送られてくる問題についてはブログ(*1)に書いた。  (*1) [備忘録]メールフォーム:完了メールが何度も送信される問題。。 …

[備忘録]Google Apps Scriptエラー:「1 日にサービス email を実行した回数が多すぎます。」

無料プランは 1日100回までの制限が。。 とあるセミナーの申し込みフォームにGoogleドライブ(Google Apps)の「Googleフォーム」を使っているが、「【失敗】Googleフォームから …

[備忘録]ハードディスクのパーテーションを拡張する方法

空き容量が減ってきたので 500GB→1TBのHDDへ交換 500GBのハードディスクを使っていたが、、空き容量がだいぶ少なくなってきた。。 不要ファイルを削除するなどして 空き容量を増やすも 90% …