simj
#1
今回、こちらのトピックで相談するにあたり、
キャッシュのクリアを行ったあと、初めて、デバック出力を試してみました。
表示エラーとなるページのデバック出力は、以下の通りでした。
Whoops \ Exception \ ErrorException (E_ERROR)
Allowed memory size of 268435456 bytes exhausted (tried to allocate 66660001 bytes)
許可されたメモリサイズ268435456バイトが使い果たされました、とのことですが、
修正の方法がわかりませんでした。
サーバーの設定を確認したり、phpの修正などのスキルはありませんが、できれば自分で修正したいです。
参考になるページなどを教えていただけるだけでも助かります、よろしくお願いいたします。
以下、追記いたしました。(必要な情報は足りていますでしょうか?)
concrete5 Version
Core Version - 8.5.2
Version Installed - 8.5.2
#利用しているブラウザ
Google Chrome、Safari
#concrete5が動いている環境
Xサーバー:スタンダードプラン
PHP Version
7.2.34
katz515
#2
こんにちは。
書かれた通り、メモリの割り当てが足らなくなったというエラーです。
お使いのサーバーはどちらのサーバーですか?
具体的には php.ini と呼ばれる、PHP の設定ファイルか、サーバーの管理パネルで PHP 割り当てメモリを増やすことができます。
max_memory_limit という値です。
ただ、レンタルサーバーによって設定方法が変わってきたり、そもそも設定できない時があります。
僕もすべてのレンタルサーバーを把握できていないので、
もしかするとわからないかもしれないですが、
お使いのサーバーはどれをお使いですか?
よろしくお願いします。
simj
#3
こんばんは。早々にご返信くださり、ありがとうございます。
レンタルサーバーは、
エックスサーバー:スタンダードプラン
を利用しています。
教えてくださった内容をもとに、
サーバー管理画面のマニュアルより「 php.ini の設定可能な項目」を確認してきました。
以下の記載がありましたので、
memory_limit プログラムが使用できる最大メモリ数を指定します。
ここの数値を大きくすることかな、と思いました。
現php.iniで設定されていた数値は、
memory_limit 256M でした。
今回のエラー回避に最適な、具体的な数字は…まだ察しがつかないのですが、
(数値を変えるのも、不安があります)
自分でももう一度、調べてみます。
simj
#4
katz515さんが教えてくださった内容から、解決することができました。
利用していたサーバーでは、
PHPの設定ファイルを触らずに、サーバーの管理パネルでメモリ数値を増やすことができました。
具体的な数値は、
memory_limit 256M を 512M と変更したことで、正常にページ表示されました。
今回の件では、「予期せぬエラーが発生しました」となる前に他の不具合箇所を修正したりもしていたので「いくつもの悪い要因が重なった結果が表示エラーとなってしまった…」と思っていましたが、結果としては、
もともとPHPメモリはオーバーであって不安定な表示状態だったところキャッシュで表示されていたが、フルページキャッシュを無効にした(他の不具合の対処として行いました)ことで、PHPメモリのオーバーが明るみになり〜表示エラーとなった、という認識をしています。
他にエラーの原因があれば、また、エラーとなった時に、デバック出力を確認して対応できそうな感覚は、今回のフォーラム投稿と、katz515さんからの早々のご返信からもつかむことができました。
本日中に解決できましたことお礼申し上げます、ありがとうございました!
katz515
#5
こんにちは。
返信が遅れてすいません。
現php.iniで設定されていた数値は、
memory_limit 256M でした。
一度、378MB に増やしてみてどうなるか確認してくれますか?
あと、特定のページは他のページと違うところがあります。
ブロックを使っているなど・・・。
よろしくお願いします。
simj
#6
katz515さん、こんばんは!
遅ればせながら、解決できましたことを、あらためてご報告いたします。
2021/12/11 0:06 にさかのぼりますが、こちらから送信しているメッセージがあります。
ですが、こちらのスレッドに表示されていませんでした。
フォーラムから戻ってきたシステムメールの内容にならって、しばらく様子を伺っていたのですが、、、
私もそのままにしていて、すみません。
以下、戻ってきたメールの内容を転記します。
Hello,
Our automated spam filter, Akismet, has temporarily hidden your post in 特定のページのみ、表示エラーになります for review.
A staff member will review your post soon, and it should appear shortly.
We apologize for the inconvenience.
2021/12/11 0:06 に私が送信したメッセージは、この日に解決できたことへのお礼と、解決内容もろもろを書いています。
具体的な数値は、512M(256Mの2倍としました)に増やしたことで、表示できました。
本当にありがとうございました!