■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

ソースコードが30KB以上になると、画面が真っ白になって編集不可となる

cruel > ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/8 23:16
たびたびの書き込みでお手数をおかけいたします。

BaserCMSのバージョン:1.6.10
スマートURLの利用:OFF
設置フォルダ:サブフォルダ
利用しているデータベース:CSV / SQLite
PHPスキル(自己評価):E

PHP5.2x, SQLite という環境(クライアント) およびPHP5.3.6, CSV(私の環境) で
利用しております。双方ともスマートURLはOFF、サブフォルダへの設置となります。

上記両環境にてページ作成を行い、その内容にソースコード換算で30KBを超える
内容を投稿しますと、画面が真っ白となり、編集不可能となります。その後管理
画面から該当ページを編集しようとしても真っ白のままで、編集できなくなります。
(クライアントはIE8、私の方はChromeにて確認しました)

クライアントからはページに関してのみ相談されたため、自宅でも追加検証して
みたところ、ブログの場合は、[本文]・[詳細]をあわせて、33KB以上になると
真っ白になりました(テストしたデータは、約33.5KBです)。

PHPの設定かとも思いましたが、post_max_sizeは8Mとなっており、30KB程度の投稿
では、この制限には引っかからないのではないかと考えております。

お忙しいところ恐縮ではございますが、ご確認いただけますと幸いです。

よろしくお願いいたします。
ryuring > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/9 18:29
こんにちは。

実は、以前、BaserCMS公式サイトの次のページで同様の症状を確認した覚えがあります。
http://basercms.net/manuals/etc/4.html

公式サイトでは一番長いページなので私もサイズの問題かなと疑った記憶がありますが、
何らかの対処をし、現在では正常に更新できています。

何が原因だったかを忘れてしまいました。。。ごめんなさい。。

ちなみに上記ページのコンテンツ部分のHTMLは57.3KBで、他のサイトで貼り付けて試したのですが正常に更新できました。
なのでサイズが問題ではなかったような気がします。。(ほんと覚えてなくてすいません)

バージョンは、1.6.10で試しました。

念の為、上記ページのHTMLを添付しますので、cruelさんの環境で試してみてください。
code.zip

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

cruel > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/10 8:54
ryuring さま

お忙しいところ、ご返信いただきましてありがとうございます。

ご提示いただきましたファイルを貼り付けますと、やはり画面が真っ白となり
編集ができない状態となってしまいました。

PHPの問題かと考え、PHPのエラーログを見てみましたが、特に何も記載されて
おりませんでした。また、組み込んでいるAPCの問題かとも思いましたが、こちらを
オフにしても症状は変わりませんでした。

あわせて、.htaccessにてPHPの設定を以下のように設定してみても変化なしでした。

php_value post_max_size 16M
php_value upload_max_filesize 16M
php_value output_buffering On


IE8, Firefox 4.0, Chrome 10にて追試したところ、全てのブラウザで発生いたし
ましたので、ブラウザ固有の問題でもないようです。

引き続き、PHPの設定を見直してみたく存じます。(クライアント環境ですと、PHPの
設定を変えられない可能性があるため、PHPの問題でなければいいのですが……)

もし何か解決策等のアイディアがございましたら、アドバイスいただけますと幸い
です。

たびたびのことで誠に恐縮ではございますが、よろしくお願いいたします。
ryuring > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/13 1:22
こんばんは。

引用:
ご提示いただきましたファイルを貼り付けますと、やはり画面が真っ白となり
編集ができない状態となってしまいました。


そうでしたかー。。むー。
あれから、僕も解決方法を思い出してみたのですが、どうしても思い出せません。。。
開発中のバージョン管理システムのログにもそれらしきログが見当たらず。。

解決に繋がるかどうかわかりませんが、公式のダウンロードページより、Nightly 版というのがダウンロードできます。
これは、開発中の最新版です。

こちらで一度試されてみて頂いてもいいですか?
これで解決するようでしたら、もう一度ログをアサってみます。

※ Nightly 版はあくまで開発中のパッケージなので、正式版へのアップデート処理などで特別な手順を行う必要があり、そのままの状態での本番運用はおすすめしません。

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

cruel > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/13 9:05
ryuring さま

ご返信、誠にありがとうございます。

本日のNightlyビルドをダウンロードし、baserフォルダ上書き・アップデートを
行いましたが、やはり症状は変わりませんでした。(IE8, Chromeにて確認しました)

現在のPHP側に追加で行っている設定は、以下の通りです。

mbstring.detect_order	auto
mbstring.encoding_translation	Off
mbstring.func_overload	0
mbstring.http_input	auto
mbstring.http_output	pass
mbstring.http_output_conv_mimetypes	^(text/|application/xhtml\+xml)	^(text/|application/xhtml\+xml)
mbstring.internal_encoding	UTF-8
mbstring.language	Japanese
mbstring.strict_detection	Off
mbstring.substitute_character	no value

post_max_size	16M
upload_max_filesize	16M
output_buffering	On


ブラウザの挙動としましては、新規作成ボタンを押した後、読み込み中(データ送信
中?) の画面となり、数秒待った後で真っ白になる、といった状態です。

ただ、送信したデータは最後まできちんと送られており、ページ自体は閲覧可能で
あるため、途中で送信データが途切れているという事とも違うように感じております。
クライアントの環境ではページ自体も正しく送信できない場合もあるようでしたが、
私の環境ではページの内容に問題が出たことはございません。

簡単にではございますが、取り急ぎテストした結果のご報告とさせていただきます。

よろしくお願いいたします。
ryuring > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/13 12:54
こんにちは。

数点確認させてください。

■ php.ini の memory_limit はいくつになってますか?多くしても状況は変わりませんか?

■ 制作・開発モードをデバッグモードにしても真っ白のままでしょうか?

■ /app/tmp/logs/ 配下のログファイルには何も書きこまれていませんか?

■ /baser/models/page.php の、207行目〜209行目あたりの次の3行をコメントアウトしても同様の症状でしょうか?

		if(!$this->createPageTemplate($data)){
			$result = false;
		}

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

cruel > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/14 2:20
ryuring さま

たびたびお手数をお掛けして申し訳ございません。下記をテストいたしました
ので、ご報告いたします。(全て04/13 Nightlyでの検証です)


> php.ini の memory_limit はいくつになってますか?多くしても状況は変わりませんか?

デフォルトでは 128M となっておりましたので、256M に変更してページの編集
ボタンを押しても、真っ白のままでした。新規作成でも同様でした。


> 制作・開発モードをデバッグモードにしても真っ白のままでしょうか?

こちらは1.6.10でもテストしたのですが、ソースコードに

<!-- 7.5683s -->


などと処理時間が表示されるだけで、真っ白のままでした。Nightlyでも同様
でした。


> /app/tmp/logs/ 配下のログファイルには何も書きこまれていませんか?

こちらはデバッグモードのレベルを変更するときに、以下のようなエラーが発生
することがあり、その内容のみでした。

2011-04-14 01:13:00 Warning: Warning (2): chmod() [http://php.net/function.chmod]: Operati on not permitted in [CORE/baser/models/datasources/dbo/dbo_csv.php, line 588]
2011-04-14 01:13:00 Warning: Warning (2): Cannot modify header information - headers already sent by (output started at /〜BaserCMSまでの絶対パス〜/cake/basics.php:108) in [CORE/cake/libs/controller/controller.php, line 646]


また、debug.logにはテンプレートでのエラーは表示されておりましたが、ノーマル
モードでは記録されず、デバッグモードの時のみ記録されているようです。(私の
書いたコードが悪いようです)

2011-04-14 01:05:20 Notice: Notice (8): Undefined variable: page in [APP/webroot/themed/テーマディレクトリ/layouts/default.ctp, line 34]



> /baser/models/page.php の、207行目〜209行目あたりの次の3行をコメントアウトしても同様の症状でしょうか?

コメントアウトして検証してみましたが、ページの新規追加・編集ボタンともに
真っ白となりました。(IE8, Chromeにて検証)


取り急ぎご報告させていただきます。

よろしくお願いいたします。
ryuring > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/20 11:31
cruel さん

思いだしました!

ファイルアップローダーが原因でした。
ページ編集や、ブログ編集では、CKEditor の画像ダイアログが、ファイルアップローダーのダイアログに書き換えられる仕様なのですが、データが多い場合、この書き換え処理に失敗して画面が真っ白になってしまうという事だったのです。

という事で、先日リリースしたアップローダーの最新版(1.2.11)では調整されています。
試されてみてください。

ただ、この調整処理には暫定的な処理というのもあり、弊害がありまして、
データが多い場合、画像のダイアログも、アップローダーダイアログも表示されなくなってしまいます。

何かいい方法があればよいのですが。。
最新版のアップローダーであれば、views/helpers/uploader_hook.php の 70行目の preg_replace が該当処理となります。
どなたかおわかりになられる方はアドバイスお願いします。

チケットもきっておきました。
http://project.e-catchup.jp/issues/1360

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

cruel > Re: ソースコードが30KB以上になると、画面が真っ白になって編集不可となる @ 2011/4/30 23:23
ryuring さま

大変ご返信が遅くなってしまい、誠に申し訳ございません。

バージョンアップされたアップローダープラグインにて動作確認しましたところ、
30KB以上のデータ投稿に問題がなくなりました。(PHP 5.3.6, BaserCMS 1.6.10
で確認)

お忙しい中ご対応いただき、誠にありがとうございました。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
26 人のユーザが現在オンラインです。 (25 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 26