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

Re: テーマ管理 「初期データの読み込みが完了しましたが、いくつかの処理に失敗しています。」

well > Re: テーマ管理 「初期データの読み込みが完了しましたが、いくつかの処理に失敗しています。」 @ 2014/7/10 17:29
goichi様、
はじめまして、wellです。

引用:

何となくバグの予感もするのですが、こちらを参考にデータベースなどの環境を記載してもらっても良いでしょうか?
(署名に入れて頂いている情報だけだと、DBなどの情報がないので、同じような環境を作って試すことが出来ません)


PHPは、Version 5.4.26です。
mysqlは、basercmsの環境情報から引用します。

mysql

MySQL Support	enabled
Active Persistent Links	0
Active Links	0
Client API version	5.5.35
MYSQL_MODULE_TYPE	external
MYSQL_SOCKET	/var/lib/mysql/mysql.sock
MYSQL_INCLUDE	-I/usr/include/mysql
MYSQL_LIBS	-L/usr/lib64/mysql -lmysqlclient

Directive	Local Value	Master Value
mysql.allow_local_infile	On	On
mysql.allow_persistent	On	On
mysql.connect_timeout	60	60
mysql.default_host	no value	no value
mysql.default_password	no value	no value
mysql.default_port	no value	no value
mysql.default_socket	/var/lib/mysql/mysql.sock	/var/lib/mysql/mysql.sock
mysql.default_user	no value	no value
mysql.max_links	Unlimited	Unlimited
mysql.max_persistent	Unlimited	Unlimited
mysql.trace_mode	Off	Off


引用:

追伸:
ちなみに、初期データを書きだした段階ではブログなどのプラグインが「有効」になっていたと思うのですが、読み込みの際はどうでしたか(一時的に止めていたとか無いでしょうか)?


ブログなどのプラグインは最初の設定以来ずっと「有効」にしています。


まず、私の状況を説明しますと、最新のデータが入った初期データ読込の読込に失敗しデータが使い物にならなくなったため
vagrant destroyし、少し前のデータが入っているboxで再構築しました。
私は、仮想マシンをwebサーバとmailサーバの複数同時起動設定している都合上(config.vm.boxは一つのboxしか指定できない)、
vagrantの手軽な再構築のメリットが減っていることもあり、設定にやや手間がかかりました。
最新データは、basercmsのテーマ管理のテーマ用初期データダウンロードで落としたもののみでしたので、
phpmyadminのインポート機能で手動でこのSQLファイルデータをテーブルに入れ直す作業を行いました。

このまま再度再現実験すると元の木阿弥ですので、テスト用Boxを作り、再現実験をしてみました。
このテスト用Boxは修正後の最新データが入っている状態です。

ここからまず、nada_iconsのテーマに変更後、データリセット。
これで、「初期データの読み込みが完了しました。」のメッセージが出ました。
ブラウザを見ると、nada_iconsのテーマですが、グローバルメニューリストが、私が設定したデータのままです。

次に、defaultの初期データ読込。
これでまた、「初期データの読み込みが完了しました。」のメッセージが出ました。
ブラウザを見ると、今度は、グローバルメニューリストが本来のnada_iconsのデフォルト状態になっています。

次に、現在のテーマを私のものに変更。
この時点でブラウザを見ると、私のテーマに変わり、グローバルメニューリストはnada_iconsのデフォルト状態のまま。

次に、データリセットをしてみます
「初期データの読み込みが完了しました。」のメッセージが出ました。
ブラウザを見ると、私のテーマで、グローバルメニューリストが私の設定したものに変わりますが、
私が最初に「テーマ用初期データダウンロード」をして得たdefaultの状態のようで
ウィジェットはほぼ空、検索窓のセレクトボックス未表示の状態です。

次に問題の、テーマ用初期データダウンロードで得た、最新の「default_ver1_1」で、初期データ読込をします。

やはりエラーがでました

! ) Fatal error: Maximum execution time of 30 seconds exceeded in /vagrant/lib/Cake/Utility/ObjectCollection.php on line 132
Call Stack
#	Time	Memory	Function	Location
1	0.0075	259776	{main}( )	../index.php:0
2	0.6907	7701392	Dispatcher->dispatch( )	../index.php:151
3	0.8048	9105880	Dispatcher->_invoke( )	../Dispatcher.php:160
4	1.0639	11595264	Controller->invokeAction( )	../Dispatcher.php:185
5	1.0639	11596048	invokeArgs ( )	../Controller.php:490
6	1.0639	11596080	ThemesController->admin_load_default_data_pattern( )	../Controller.php:490
7	1.0639	11596256	ThemesController->_load_default_data_pattern( )	../ThemesController.php:159
8	43.2848	14524840	Page->createAllPageTemplate( )	../ThemesController.php:260
9	52.9184	16221296	Page->createPageTemplate( )	../Page.php:466
10	52.9185	16223928	Page->_getPageFilePath( )	../Page.php:489
11	52.9243	16220752	getPath ( )	../Page.php:547
12	52.9243	16221368	Model->__call( )	../Page.php:547
13	52.9243	16221368	BehaviorCollection->dispatchMethod( )	../Model.php:795
14	52.9244	16222560	call_user_func_array ( )	../BehaviorCollection.php:239
15	52.9244	16222664	TreeBehavior->getPath( )	../BehaviorCollection.php:239
16	52.9245	16225432	BcAppModel->find( )	../TreeBehavior.php:461
17	52.9259	16228616	Model->_filterResults( )	../BcAppModel.php:1320
18	52.9259	16230000	CakeEventManager->dispatch( )	../Model.php:3215
19	52.9261	16231032	call_user_func ( )	../CakeEventManager.php:247
20	52.9261	16231064	ObjectCollection->trigger( )	../CakeEventManager.php:247


ブラウザを見ると、エラー時デフォルトのm-singleになっています。
この時点でデータベースを見てみます。
●_menuテーブルを見ると
idの1から、default_ver1_1のデータが入っているようですが、nameが文字化けしています。
csvファイルのインポートがうまくいっていないようです。
そして、default_ver1_1のデータの次に、idの後順で、defaultのデータが入っています。
こちらは文字化けしていません。
つまりdefault_ver1_1のデータが前に割って入り、なぜか最初のdefaultのデータがその後にまた追加されている状態です。

今度は、●_blog_commentsテーブルを見てみます。
ブログプラグインのデータは最初に設定して以来いじっていませんが、
id=1のデータと同じものが3つ追加されている状態です。
createdを見るとどうやら、先ほどのdefault_ver1_1初期データ読込処理で時間がかかっていましたが、3回連続で同じSQLが実行されたようです。

次に●_site_configsテーブルを見てみます。
こちらは正常に入っているようです。
一か所valueに日本語がありますが、文字化けしていません。

私にはどういう現象が起こっているかちょっと解りかねる状況です。


次に、m-singleになってい現在のテーマを、私のテーマに変えブラウザを確認します。
グローバルメニューリストは、案の定一部文字化けし、dafultとdefault_ver1_1のメニューが混在しているようです。
ウィジェットのページカテゴリーリストもすべて文字化けしています。

次に、テーマ一覧で、データリセットをしてみます。
「初期データの読み込みが完了しました。」のメッセージが出ました。
ブラウザを見ると、最初のdefaultのデータで正常に表示されました。
データベースで各テーブルを見ると、大きな問題はなさそうですが、1つ、
●_blog_commentsテーブルや●_blog_categoriesテーブルのデータに2つの同じ重複データが入っていました。
createdの時間は、先ほど処理した時間の数秒違いになっています。

次に、/etc/php.ini内の
max_execution_time=30 を
max_execution_time=150 に変更して、仮想マシンをリロード

もう一度default_ver1_1で初期データを読み込んでみます。
表記の状態ではなく
初めて見るエラーが出ました

Notice (8): unserialize(): Error at offset 52 of 647 bytes [CORE/Baser/Lib/BcUtil.php, line 214]
Code Context
unserialize - [internal], line ??
BcUtil::unserialize() - CORE/Baser/Lib/BcUtil.php, line 214
User::applyDefaultFavorites() - CORE/Baser/Model/User.php, line 320
ThemesController::_load_default_data_pattern() - CORE/Baser/Controller/ThemesController.php, line 289
ThemesController::admin_load_default_data_pattern() - CORE/Baser/Controller/ThemesController.php, line 159
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 185
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 160
[main] - /vagrant/app/webroot/index.php, line 151

Notice (8): unserialize() [function.unserialize]: Error at offset 52 of 647 bytes [CORE/Baser/Lib/BcUtil.php, line 214]
Code Context
unserialize - [internal], line ??
BcUtil::unserialize() - CORE/Baser/Lib/BcUtil.php, line 214
User::applyDefaultFavorites() - CORE/Baser/Model/User.php, line 320
ThemesController::_load_default_data_pattern() - CORE/Baser/Controller/ThemesController.php, line 289
ThemesController::admin_load_default_data_pattern() - CORE/Baser/Controller/ThemesController.php, line 159
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 185
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 160
[main] - /vagrant/app/webroot/index.php, line 151

Notice (8): unserialize() [function.unserialize]: Error at offset 52 of 647 bytes [CORE/Baser/Lib/BcUtil.php, line 214]
Code Context
unserialize - [internal], line ??
BcUtil::unserialize() - CORE/Baser/Lib/BcUtil.php, line 214
User::applyDefaultFavorites() - CORE/Baser/Model/User.php, line 320
ThemesController::_load_default_data_pattern() - CORE/Baser/Controller/ThemesController.php, line 289
ThemesController::admin_load_default_data_pattern() - CORE/Baser/Controller/ThemesController.php, line 159
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 185
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 160
[main] - /vagrant/app/webroot/index.php, line 151


データベースの各テーブルを確認すると・・・
基本的に最初にdefault_ver1_1で初期データを読み込んだ時と同じ症状ですが。
今度は、先ほどは正常だった●_site_configsテーブルで、文字化けした重複データが割って入っていました。

次に、管理画面のテーマ一覧ページをリロードしてみました。
すると、表記の、「初期データの読み込みが完了しましたが、いくつかの処理に失敗しています。ログを確認してください。」
のメッセージが出ました。


以上です。
私からは説明しづらい現象になってしまっています。

goichi様の環境で再現できればよいのですが・・・

■ BaserCMS:3.0.6.1
■ サーバー名:CentOS 6.5 on VirtualBox(PHP 5.4.x / MySQL 5.5.x)
■ スマートURL:ON
■ 設置フォルダ: [ドキュメントルート]
■ PHPスキル:C
■ IDE:NetBeans7.4

ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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