Fatal error: Allowed memory size of 268435456 bytes exhausted 対策

はじめに

 メモリー制限エラー,が生じたらしい。次のメッセージが出て,ウェブページの編集ができなくなった。

図1 メモリー制限エラー

 この方面の知識がなく,お手上げである。

1. エラー遭遇の状況

 ぼくが利用するさくらレンタルサーバーに質問した。

■お問い合わせ内容 (さくらによる自動返信,May 26, 2024)
———————————————————-
件名:ウェブの設定やトラブルに関するお問い合わせ
———————————————————-
https://motochan.info/wp/
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 65536 bytes) in /home/motochan/www/info2020/wp/wp-includes/class-wpdb.php on line 2320
There has been a critical error on this website. Please check your site admin email inbox for instructions.
多少長い一つの現在作成中の固定ページだけで,この現象が生じています。他のページでは問題無いように思います。
https://motochan.info/wp/was-the-3rd-supreme-leader-of-oomoto-religion-konohanahimes-incarnation-on-earth/
この作成中にプラグインのアップデートなどはしていません。ただ本日,自動で新たなWordPressがインストールされたようですが。
関係無いかも知れませんが,今日,はじめて,このページで,<ruby>  <rt> </rt> </ruby>を使って,Webページ上でルビを振りました。これまではMicrosoft Wordで作成してコピペしてきたのですが。
以上,宜しくお願いします。
一応,WordPressを使っていますが,htmlやcssなどの知識なしでやってきました。

 これに対しての返事を待ちあぐねていたが,迷惑フォルダーに返事があるのを,今日見つけた。
──────────────────────────── dated at May 27, 2024
お問い合わせいただき、誠にありがとうございます。
さくらインターネット カスタマーセンターの植木と申します。
弊社にて確認をさせていただきましたところ、以下のいずれのURLにも仰せのエラーを
確認する事ができませんでした。
問題は改善しておりますでしょうか。
なお、恐れ入りますが、弊社ではWordPressのトラブルシューティングは承っておらず
詳細なご案内を差し上げておりません。
しかしながら、拝見した限りWordPressにて使われるメモリに関するエラーのようで
ございますので、可能性としては、追加されたプラグインやテーマにて問題が発生
している可能性がございます。
必要に応じてバックアップを取った上で、WordPressのプラグインを全停止してみてどうか
というのがトラブルシューティングの常套手段になるかと存じます。
WordPressのバックアップにつきましては、下記をご参照ください。
▼WordPressのスナップショットを作成したい
https://help.sakura.ad.jp/rs/2168/
恐れ入りますが、何卒よろしくお願いいたします。
ご不明な点やご質問等ございましたら、本メール返信にてお問い合わせ 
ください。 
今後ともさくらインターネットをよろしくお願いいたします。 
───────────────────────────────────

1 「弊社にて確認をさせていただきましたところ、以下のいずれのURLにも仰せのエラーを
確認する事ができませんでした」,とあるが,編集でのエラーの問題であって,閲覧のトラブルでは無いことはわかる筈なのになあ。
2 「多少長い一つの現在作成中の固定ページだけで,この現象が生じています。他のページでは問題無いように思います」,「今日,はじめて,このページで,⋯⋯⋯⋯⋯,を使って,Webページ上でルビを振りました」,と言っているのに,これらの疑問にも答えていない。

 この回答は余りに一般的で,トラブルシューティングのサービス精神が無いのではと思う。質問した意味がない。さくらに質問するのは2回目だが,1回目の際も,何にもならなかった。担当者から2回メールが来て後は,梨の礫。担当者によるかも知れないが,無視すべきという企業指針に基づく可能性もある。
 他のレンタルサーバーも同じなんだろうか。今,移行を考えているエックスサーバーは,ネット上では,電話にも対応していて,こういうサービスが充実しているようだが??

2. ネット上の解決法を見ると

 日本のワードプレスサイトに,記事の投稿ができなくなりました。,という情報があった。適切なサポートをされるユーザーが居て,解決したらしい。

————————————————
うわー、ありがとうございます。
WordPressのアップデートと、それに対応するXサーバー側のアップデートと、プラグインのアップデートで全部治りました。助かりました。ありがとうございます。
単に私の放ったらかし怠惰精神のなせるワザだったようです。ありがとうございました。————————————————

 この場合は,1. WordPressをアップデートし,2. それに対応するXサーバー側をアップデート,3. プラグインのアップデート,で解決したということだ。

 ぼくの場合は,WordPressもプラグインも,自動でアップデートされているので,上記の方のトラブルと同じだとは考えにくいが,「それに対応するXサーバー側のアップデート」なるものを実行すればいいのかも知れない。

3. PHPのメモリを増やすか

 一般には,PHPのメモリを増やす,ということのようだ。次の情報が参考になる。

WordPress Memory Exhausted Errorの修正方法 – PHPのメモリを増やす
【2つの方法】WordPressのメモリ制限エラーを解決するには

 どうも違うような気がする。ぼくのウェブページにはトラブルが生じているページよりもかなりでかいページがあるが,ここでは編集に問題がないと思うが。ちょっと,これから調べてみよう。
 多数の画像が入っているページだが,全然問題ない。 

4. 決心した?

 画像は少ない。昨日,問題のウェブページはA4の簡易印刷すると50ページほどなので,とにかく,外部に出力して,また,このwordpressサイトに読み込んで見よう。それでだめなら,テキストにして,コピペになるなあ。これは大変なのだけどねえ。

以上,18:44,2024/05/30。

5. 実行して成功

 要するに,ウェブページを外部保存して,それをMicrosoft Wordで読み込んで,保存して,それをWordPressのページにコピペしたら,問題が無くなった。エラーが起きなくなった。とにかく,問題があったページを削除した。手順を簡単に次に示す。今後も,この問題は生じそうな気がするから,記録しておいた方が良いだろう。

1 Firefox(他のブラウザーもできるだろうが)で,ファイル > 別名で保存 > ファイル形式:すべてのファイル。
2 ぼくの場合,macのデスクトップに一つのhtmlファイル(ウェブページタイトル.html)と一つのフォルダ(ウェブページタイトル.fld)が保存される。後者には,colorschememapping.xml,filelist.xml,header.html,themedata.thmx,ファイルが含まれる。
3 ウェブページタイトル.htmlをMicrosoft Wordアプリのアイコンに載せて,開くと,ウェブページの見出しがMicrosoft Wordのアウトラインプロセッサーと同じ形で表示される。
5 ヘッダー,フッター削除した。ヘッダーとは,タイトルより前の部分全部で,フッターは,本文の最後の「以上」に続く後ろ全部に当たる。
6 Microsoft Wordで,表示 > Webレイアウト,を選択する。
7 元のurlは,https://motochan.info/wp/(中略)incarnation-on-earth/,であるが,この新たなものは,最後に2だけ足して,https://motochan.info/wp/(中略)incarnation-on-earth2/,として,ファイル名称を変更しないで保存した。
8 WordPressで,新規ページを作成して,Microsoft Wordファイルの,タイトルと目次の下の「はじめに〜おわりに(以上)」,を丸まる選択してコピーし,新規ページのタイトルの下の本文ブロックに,ペーストした。
9 タイトルフィールドには,ウェブページタイトル,をコピペした。
10 ウェブページ右ペーンのurl欄では,日本語タイトルのみ削除した。次に進もうとすると,図2が現れる。media libraryにはすでにこれらのファイル群はすでにアップされているが,リンク付がおそらく面倒なので,uploadを選んだ。そして,Publishを実行した。

図2 図表のmedia libraryへアップロード
図3 ヘッダーの表示がやばい

11 図3のようになって,元々は連絡掲示板が右端なのだが,#32137(タイトルなし),三代教主は木の花姫か was the 3rd ⋯⋯⋯⋯⋯,が右に続いている。二つのウェブページがメニューのトップに躍り出ている形である。このWordPressのテーマでは,ウェブページを作成するとこのようになる。ただ,#32137(タイトルなし),が作成者本人の知らない所で作成されてしまっている。
 「図4 Dashboad > Appearance > Menu」,のような構造になっている。これはまあ,配列すれば済む問題である。既存ウェブページを削除して,この作業を実行して新たに作成したウェブページをこのメニューに入れ込んだ。
 なお,#32137(タイトルなし)は,図5のような内容だ。ファイルのコピペの際にペーストしたとは考えにくく,自動で作成されてものであろう。これをリストから選んでAdd to Menuを実行すると,このファイルがMenuリストに表示される。この形にするとdeleteできる。

図4 Dashboad > Appearance > Menu
図5 #32137(タイトルなし)

おわりに

 とにかく,何とか,トラブル回避できた。この種のトラブルは今後も生じるだろうから,このページは必須だろう。ただ,PHPメモリーを増やす必要が出てくる可能性は高く,さくらレンタルサーバーのスタッフにご指導頂きたいものである。

以上,2024/05/30。

6. PHPメモリーを増やす

 HTMLを触って失敗したら,トラブルが戻ってしまった。PHPメモリーを増やさないと収まらなくなった。

 さくらレンタルサーバーに問い合わせて,さくらのレンタルサーバのPHPの環境を確認、整えてみよう を見たがわかりにくい。

 【さくらサーバー版】WordPressの最大アップロードサイズ変更方法 が懇切で判りやすかった。

1 さくらのレンタルサーバーのサーバーコントロールパネルにログイン
 https://secure.sakura.ad.jp/rs/cp/

 ここから,ドメイン名,パスワードを入力して,ログインをクリック

2 サーバーコントロールパネルが表示される(図6)
 この左のペーンのスクリプト設定を選ぶと,php.ini設定が見えるので,これをクリック。

3 表示されたPHPiniファイル設定タブ(図7, 8)
 php.iniファイルバスがあって,空欄にはぼくの場合はすでに3パラメータ値が入力されていた。
memory_limit = 128M, upload_max_filesize = 120M, post_max_size = 100Mであった(図7)。この何れの値も512Mにした(図8)。

  • memory_limit ・・・ PHPスクリプトが利用可能なメモリの最大容量(本例では512MB)
  • post_max_size ・・・ POSTデータの最大サイズ(本例では512MB)
  • upload_max_filesize ・・・ 最大アップロード数(本例では512MB)

4 WordPressのダッシュボードで,メディアを見て,最大アップロードサイズが512MBになっていることを確認した(図9)。

図6 ログイン後に表示されるコントロールパネル
図7 PHPiniファイル設定タブ
図8 php.iniの情報を全部512MBに
図9 Upload New Mediaのファイルサイズ

 幸い,この作業は功を奏して,頻発していたエラーが解消された。感謝。

以上,2024/06/24。

7. すぐにPHPメモリー不足だ

 今朝,問題のウェブページがまた,エラーで,編集ができない。二〇回ぐらいのトライでやっと。三日前にメモリー容量を増やしたのに。自動でメモリー値が戻ったのではないかと疑った。
 ログインしても,増量したままだ。そこで,図10のように,memoryとpost値を512+128=640Mに。結果,またエラーが出なくなったけど,いつまで持つか。この三日間,多少のテキストを増やしたけどねえ。

図10 memoryとpost容量を増やした

以上,2024/06/27。

8. またまたPHPメモリー不足だ

 7.の作業の直後は問題なかったが,その3日後,2024/06/30,にはまたPHPメモリー不足である。

  • memory_limit ・・1024MB
  • post_max_size ・・1024MB
  • upload_max_filesize ・・512MB

と,まあ,してみよう。

https://secure.sakura.ad.jp/rs/cp

以上,2024/07/01。

9. またまたまたPHPメモリー不足だ

 8.の作業の直後は問題なかったが,その7日後,2024/07/08,にはまたPHPメモリー不足である。

  • memory_limit ・・1536MB
  • post_max_size ・・1536MB
  • upload_max_filesize ・・512MB

と,まあ,して,問題なくなった。

https://secure.sakura.ad.jp/rs/cp

以上,2024/07/08。

10. 又又又又 PHPメモリー不足だ

 同じウェブページを性懲りも無く,編集を続けている。湯川秀樹一家の記念写真245kBをアップロードしたあと,またメモリー不足に陥った。草刈りの500kBの写真なんか一杯アップしているページではこのエラーは生じないのに不思議だなあ。

 9.の作業の直後は問題なかったが,その6日後,2024/07/14,にはまたPHPメモリー不足である。一応,upload_max_filesizeだけ増やしてみよう。

  • memory_limit ・・1536MB
  • post_max_size ・・1536MB
  • upload_max_filesize ・・1024MB

 実行して,元のウェブページに戻って,編集モードに移ろうとしたがうまく行かない。まだネット上にアップロードできていないが,新たに追加した写真はウェブページに見える。

  • memory_limit ・・2048MB
  • post_max_size ・・2048MB
  • upload_max_filesize ・・1024MB

成功した。

以上,2024/07/14。

11. 又又又又又 PHPメモリー不足だ

今朝,またまたメモリ不足。5日もたない。どういう仕組みなんだろうと思う。たぶん,一気に上げない方がいいような?

  • memory_limit ・・2048+512=2560MB
  • post_max_size ・・2048+512=2560MB
  • upload_max_filesize ・・1024MB

https://secure.sakura.ad.jp/rs/cp

以上,2024/07/19。

12. 又x6 PHPメモリー不足だ

今夕,またまたメモリ不足。20日もった。

  • memory_limit ・・2560+1024=3584MB
  • post_max_size ・・2560+1024=3584MB
  • upload_max_filesize ・・1024MB

https://secure.sakura.ad.jp/rs/cp

以上,2024/08/08。

13. 又x7 PHPメモリー不足だ

今夕,またまたメモリ不足。18日もった。

  • memory_limit ・・2560+2560=5120MB
  • post_max_size ・・2560+2560=5120MB
  • upload_max_filesize ・・1024MB

https://secure.sakura.ad.jp/rs/cp

以上,2024/08/26。

14. 又x8 PHPメモリー不足だ

日が変わる直前,またまたメモリ不足。24日もった。

  • memory_limit ・・5120+5120=10,240MB
  • post_max_size ・・5120+5120=10,240MB
  • upload_max_filesize ・・1024MB

https://secure.sakura.ad.jp/rs/cp

以上,2024/09/20。