#2806 closed defect (fixed)
memory_limitの設定値が小さい環境で管理画面にログインできない
Reported by: | ebihara | Owned by: | ebihara |
---|---|---|---|
Priority: | critical | Milestone: | OpenPNE2.12.2 |
Component: | 指定しない | Version: | 2.10.x & 2.12.x & 2.14.x |
Keywords: | OpenPNE2.10.8 OpenPNE2.13.2 | Cc: |
Description (last modified by )
■現象
PHPの memory_limit の設定値が 8M などある程度小さい値に設定されている環境において、管理画面へのログイン操作後に Fatal error が発生しページが表示されない。
■原因
memory_limit の設定値が小さい環境では、simplepie.inc を読み込んだだけで Fatal error となりPHPの実行が止まってしまうのが原因 (#2769)
管理画面のトップページでは無条件にこの simplepie.inc を読み込んでいた。
■修正内容
管理画面のトップページでは simplepie.inc を読み込まないよう修正する。
■関連情報
#2769 に記載されている通り、 memory_limit が 8M などある程度低い値に設定されている環境においては simplepie.inc を読み込んだだけで Fatal error となるため、 simplepie.inc を読み込んでいる箇所については事実上動作しなくなる。
これを根本的に解決するのは困難だが、 OpenPNE には admin_page_top などにおいて不用意に simplepie.inc を読み込んでいる場面が存在する。そのため、 simplepie.inc の読み込みが発生する箇所を必要最低限まで減らす。
Change History (9)
comment:1 Changed 13 years ago by
Priority: | minor → critical |
---|
comment:2 Changed 13 years ago by
Milestone: | OpenPNE2.12.3 → OpenPNE2.12.2 |
---|
comment:3 Changed 13 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:4 Changed 13 years ago by
comment:5 Changed 13 years ago by
Keywords: | 確認中 added |
---|
以下のリビジョンで修正しました。
trunk のみ、未使用ファイル webapp/lib/smarty_plugins/function.t_assign_rss.php の削除をおこなっています。
ただし、自分の環境で memory_limit を 8M にして検証したところ、 webapp/modules/admin/lib/db_admin.php の読み込みに関しても、 Allowed memory size of ... というエラーメッセージが表示されてしまいました。
このチケットとは直接関係ありませんが、こちらについても原因を調査してみようと思います。
comment:6 Changed 13 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
comment:7 Changed 13 years ago by
Keywords: | テスト待ち removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
config.phpにてmemory_limitを8Mにして確認してみたところ、問題なく表示されました。
comment:8 Changed 13 years ago by
Summary: | 不用意に simplepie.inc を読み込んでしまっている箇所がある → memory_limitの設定値が小さい環境で管理画面にログインできない |
---|
OpenPNE において simplepie.inc を読み込んでいるのは OpenPNE/RSS.php の冒頭部分しかありません。
そのため、実質的には OpenPNE/RSS.php を読み込んでいる箇所で、今回の問題が発生します。
コードを検索したところ、RSSが必須でない場面でもライブラリを読みに行っている箇所は、
となっています。
このうち、 t_assign_rss は OpenPNE 本体で使用されていないため、おそらく削除の必要がありますが、安定版ではひとまず上に挙げた事項を改善する方向で対処したいと思います。