■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

フィード管理画面が白く表示される

bcmsfu > フィード管理画面が白く表示される @ 2010/6/17 11:54
こんにちは。

独自のサーバにインストールして管理画面を開いてみたのですが、
フィード管理画面を開こうとすると画面が真っ白になってしまいます。

このままでは原因がつかめないためノーマルモードからデバック1モードで表示した所

下記のようなエラーメッセージが表示されました。
Fatal error: Allowed memory size of 16777216 bytes exhausted
/cake/libs/xml.php on line 1049

メモリ限界値が少ないとのエラーのようですが、
memory_limit:16M
と推奨値ぎりぎりであるためフィード機能は使えないという判断になるのでしょうか?

共有サーバなので、勝手にメモリ使用値を変更できないため、
リミット値を増やす以外の解決方法はありませんでしょうか?

インストール環境
■ BaserCMSのバージョン:1.5.9
■ サーバーOS:CentOS(Apache2.2.3)
■ PHP : 5.1.6
■ スマートURLの利用:ON
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:SQLite
ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 12:53
こんにちは。

メモリは16Mでも動作する事は確認しています。
実際に先程試しましたが問題ありませんでした。
※ ただ、16Mだとファイルアップローダーにおいてサイズが大きいファイルはアップロードできない可能性があります。
※ Fatal error: Allowed memory size of 16777216 bytes exhausted はメモリだけの問題ではなくループしている時にも出たはず

また、エラー該当となっている /cake/libs/xml.php on line 1049 は、
その画面において通らないです。こちらも先程確認しました。

これだけの情報では、問題解決が難しいです。
xml.phpはどこから呼び出されているか画面に表示されていませんか?

ちなみに、独自サーバーとあり、共用サーバーという事なのですが、レンタルサーバーではないのでしょうか?

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 13:16
返信ありがとうございます。

>xml.phpはどこから呼び出されているか
[ドキュメントルート]/basercms/admin/feed/feed_configs/index
のURLから呼び出されている事と

エラーの全文(一部省略)
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 7680 bytes) in
/[ドキュメントルート]/basercms/cake/libs/xml.php on line 1049

とこれだけ表示されているのみです。

これでよいでしょうか?

>ちなみに、独自サーバーとあり、
誤記により恐縮です。
レンタルサーバです。
ただ個人の方が運営されているサーバの領域をご厚意で使わせてもらっているので
業者さんから借りているものとは違うかなと思いあえてレンタルサーバという表現を避けました。
ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 13:35
こんにちは。

これだけ情報ではなんとも言えないですね。。
他のサーバーで起こりえない現象が起きていますのでサーバー環境の問題が高いです。
原因を突き止めるとなるとソースコードを追って行くしかありません。

該当URLの場合、FeedConfigs コントローラーの admin_index というメソッドが呼ばれます。
ファイルは下記の場所です。
baser/plugins/feed/controllers/feed_configs_controller.php

これを開き、admin_index メソッドまで行き着いているか確認します。
echo 等で、文字列を出力する文を書きます。
下記のような感じですね。

function admin_index(){
echo 'test1';	// ← 追記
	// データを取得
	$this->paginate = array('conditions'=>array(),
                         	'fields'=>array(),
                         	'order'=>'FeedConfig.id',
                         	'limit'=>10
                         	);
	$feedConfigs = $this->paginate('FeedConfig');

	if($feedConfigs){
		$this->set('feedConfigs',$feedConfigs);
	}

	// 表示設定
	$this->pageTitle = 'フィード設定一覧';
echo 'test2';	// ← 追記
}


この例でいくと、このメソッドに問題がなければ、test1 と test2 という文字列が画面に出力されるはずです。
まずはこれを調べてください。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 13:49
>まずはこれを調べてください。

該当部分にコード埋め込みました。
test1test2
と表示された後に
先ほどと同じエラーが発生している事が解りました。
ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 14:15
次は、一旦、CakePHPのコアに戻り、その後、ビューが表示処理となります。

ビューは二つのテンプレートの組み合わせとなります。

■ レイアウトテンプレート
baser/views/layouts/admin/default.ctp

■ コンテンツテンプレート
baser/plugins/feed/views/feed_configs/admin/index.ctp

同様にしてどこまで処理が進んでいるか確認してもらえますか?

ご存知かどうかわかりませんが、テンプレートはHTMLにPHPタグを埋め込む方式なので、<?php ?> で囲まれていないところは囲んでやる必要があります。
(例)<?php echo 'test' ?>


よろしくお願いします。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 14:39
すいません、念のため、もう一つ確認させて下さい。

今回のエラーが出てしまうのは、間違いなく、フィード管理だけなんですよね?

他のページは正常に表示されるのですよね?

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 15:00
管理ページに表示されるメニューの中では、
フィード管理画面だけ、表示できない状態です。
ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 15:03
了解です。もう一つの質問の件もよろしくお願いします。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 15:14
フィード管理画面しかこのエラーは出ませんでした。
ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 15:17
いえ、そうではなく、レイアウトテンプレートと、コンテンツテンプレートにおいて、どこまで処理が行き着いているかについてです。

見落とされているかと思い投稿しました。
よろしくお願いします。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 15:35
テンプレートについて調べてみたら、下記のようになってしまいました。


■ レイアウトテンプレート
baser/views/layouts/admin/default.ctp
⇒埋め込んだ文字列がフィード管理以外の画面では
 表示されるも、フィード管理画面では、TEST文字列が表示されず、
最初のエラー文が表示されるだけでした。

■ コンテンツテンプレート
baser/plugins/feed/views/feed_configs/admin/index.ctp
⇒文字列が表示されず、フィード画面で最初のエラー文が表示されるだけでした。
(他の画面でも出てきません。)
bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 15:38
先の文章に返信したためこちらにもう一度書きます。

テンプレートについて調べてみたら、下記のようになってしまいました。

■ レイアウトテンプレート
baser/views/layouts/admin/default.ctp
⇒ 埋め込んだ文字列がフィード管理以外の画面では
 表示されるも、フィード管理画面では、TEST文字列が表示されず、
最初のエラー文が表示されるだけでした。

■ コンテンツテンプレート
baser/plugins/feed/views/feed_configs/admin/index.ctp
⇒ 文字列が表示されず、フィード画面で最初のエラー文が表示されるだけでした。
(他の画面でも出てきません。)

ryuring > Re: フィード管理画面が白く表示される @ 2010/6/17 15:48
そうでしたか。。
コントローラーの処理は正常に完了して、テンプレートの表示までは行き着いてないという事ですね。

正直なところ、実際の環境でデバッグをしてみないとここから先はこちらからアドバイスをお伝えするのが難しいです。

bcmsfu さんはPHPの経験はありますか?
あるのであれば、これまでのような手順で、実際にソースコードを追ってエラーの発生箇所を突き止めてください。

もし、そうでなくて、お急ぎの場合は、
有償となりますが、BaserCMSのお問い合わせフォームより、実環境での調査をご依頼された方がよいかもしれません。
http://basercms.net/contact/index

よろしくお願いいたします。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

bcmsfu > Re: フィード管理画面が白く表示される @ 2010/6/17 16:11
>bcmsfu さんはPHPの経験はありますか
少しだけ経験があります。
まずは、エラーの発生箇所を突き止められるか頑張ってみようと思います。