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様の環境で再現できればよいのですが・・・