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

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

well > Re: テーマ管理 「初期データの読み込みが完了しましたが、いくつかの処理に失敗しています。」 @ 2014/7/16 23:04
goichi様、n1215様、
ご回答ありがとうございます。

まず本節に入る前に、お話させていただきます。
最終目的は、表記の問題でバグがあるのか明らかにすることであり、
この点は、n1215様のご指摘通り、数段階の処理の中で、エラーの原因がどれであるか切り分けることが重要ですね。

全段階を経て結果として現れた、目に見える主な気になる症状は、
・文字化け
・データの重複
でした。

今回最終的には、一つの単純な結論が出ましたが、
そこにたどり着くまでに試行錯誤していた段階で、不思議な現象に何度か遭遇し、泥沼化しそうになりました。
それらの現象まで述べることは多大な混乱を招く恐れがあり今回は割愛させていただきます。

goichi様、

引用:

公式のVagrant環境で試したところ(たぶん同じ環境ですよね?頂いた情報を見る限りそうだと思うのですが・・・)、私の方では特に問題なく、


vagrant環境は、basercmsに付随している公式?のものではなく、
去年、ドットインストール様のサイトで学習させていたいた際に作ったものがベースで、
その後、色々な機能を試す際に、git、postfix、dovecot、xdebugなどを
随時独自に追加してきたものです。
これまで、vagrantに関しては特に問題なく動作しております。

引用:

一応、お確かめ頂きたいのは、現在お使いの3.0.2というのは、
・別バージョンからのアップデートですか?(3.0.2からだとデフォルトテーマはnada-iconじゃないかも?)
・GitHubからダウンロードしたのであれば、最新のもの(次期バージョン開発中のもの)ではなく、タグで3.0.2を選択してダウンロードしていますか?(安定版?)


現在使っている、basercms3.0.2は4/1にbaserCMSのHPのトップページよりDLした安定版を
新しい専用のBoxに入れたものです。

引用:

一度、公式リポジトリのタグ:3.0.2をダウンロードしてもらって、同封のVagrant環境を利用し、問題のテーマを適用してみると、案外、スッキリするかもしれません。


念のため、教えていただいた公式リポジトリからDLさせていただき、テスト用Boxに入れて再現実験を行うことにしました。初めて自分以外の方が作ったvagrantBoxを使うこともあり、諸々手間取りました。
vagrant destroy後、最小限の設定変更を心がけてvagrant環境を再構築。
まずはgoichi様の追伸の手順までその通りに。
次にこのままスマートURLをオンにするとbasercmsがおかしくなることがわかりましたので、
/etc/httpd/conf/httpd.conf の設定を以下のように一番わかりやすいノーマルなものに変更。


ServerName ***.*****.net:80 //を設定
#ServerName localhost:80 //コメントアウト

#DocumentRoot "/vagrant/app/webroot" //コメントアウト
DocumentRoot "/var/www/html" //フォルダ構成をいじらず使いたいのでこちらに

<Directory "/vagrant"> → <Directory "/var/www/html"> //変更

// <Directory "/var/www/html">内
AllowOverride None → AllowOverride All //変更:スマートURLオン対策

EnableMMAP off  //コメントアウト外す
EnableSendfile off //コメントアウト外す


次にシンボリックリンク設定し直し


[vagrant@localhost ~]$ sudo rm -rf /var/www/html  //まず 今ある内容を削除
[vagrant@localhost ~]$ sudo ln -fs /vagrant /var/www/html  // /vagrantディレクトリに/var/www/htmlという名前のシンボリックリンクを作成する



以上の設定変更後、vagrant reload
管理画面 システム設定 > サイト基本設定 から
まず
・デバックモード1に変更
次に
・スマートURLをオンに変更

問題ないのを確認後、vagrant halt
appフォルダを私がこれまで使っていたものに変えます。
database.phpの値だけ合わせるよう変更。

また、使用するdatabaseの中を空にし、現在問題なく動いて使っている
default_ver1_1のcsvファイルをutfで保存し直して、phpmyadminで手動で入れて、
現在問題なく使っているデータをインポート(SQL形式)。


その他、

・/etc/hostsに、自分のServerNameを設定

n1215様の以下のご指摘を受け
引用:

このうちどれであるか切り分けが必要ですね。
最初のエラーが出る前にあらかじめPHPの最大実行時間を150秒程度に延長しおいてから試しても結果は同じでしょうか?


・php.iniで、max_execution_time = 30 → 150 に、予め変更


この状態をいつでも再構築したいので新しくboxをつくっておく。
ただし、公式のVagrantfileには、
下の方に、chefで、仮想マシン内のプログラムの設定変更を一括変更しているjsonが書かれているのを発見。
私はchefは使ったことはないのですが、
やってることは一目瞭然ですので、今回は、httpdの部分をコメントアウトし、
phpは、:max_execution_time => '30'を こちらも'150'に変更します。


# :httpd => { #コメントアウト
# :servername => 'localhost:80',
# :root => '/vagrant',
# :webroot => '/vagrant/app/webroot',
# :timeout => '60',
# :listen => '80'
# },
:php => {
:max_execution_time => '150', ←変更
:memory_limit => '128M',
:post_max_size => '32M',
:default_charset => 'UTF-8',
:upload_max_filesize => '16M'
},

# chef.add_recipe "httpd"  ←コメントアウト


vagrant reloadしてブラウザで正常に動作することを確認後、
この状態をいつでも再構築したいので、vagrant packageで、新しくboxをつくっておく。

vagrant destroy後
Vagrantfile内のconfig.vm.boxを、新しく作った最新のボックスに変更。
vagrant up


以下のchefのエラーがでていた。
ただbasercmsは特に問題なく動いており
またchefは経験ないので、相当の学習コストを払いそうなのでここではスルー

[2014-07-16T11:27:52+00:00] ERROR: Running exception handlers
[2014-07-16T11:27:52+00:00] ERROR: Exception handlers complete
[2014-07-16T11:27:52+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-sta
cktrace.out
[2014-07-16T11:27:52+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef ru
n process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.


これでとりあえず、再現実験前に、データベースのデータ、サーバーの設定など正常な状態のボックスが出来ました。

------------------------------------------------------------------------------
ここから再現実験

> テーマ管理 > テーマ一覧
 
 テーマ管理メニュー
 テーマ一覧 > ・・・> データリセット

・現在のテーマ、私のテーマ、データも最新状態から、データリセットを押す!!

 →「初期データの読み込みが完了しました。」
 →以前初めて作った、defaultのデータがセットされた。
 
 ・ブラウザを見ると、一見問題なさそうですが、お問合せの入力フォームのフィールドが2つずつになっていた。
 
 ・データベースの各テーブルを確認すると、
  ・***_favoritesテーブルのデータが、user_idが1から3で、3つの重複データになっている。createdは1秒違い。
  ・***_pg_blog_categoriesテーブルのデータがidが1と2に、2つの重複データが入っている。createdは2秒違い。
  ・***_pg_blog_commentsテーブルも、***_pg_blog_categoriesテーブルと同様。
  ・***_pg_blog_contentsテーブルも同様。
  ・***_pg_blog_postsテーブルも同様。
  ・***_pg_blog_posts_blog_tagsテーブルも同様。
  ・***_pg_blog_tagsテーブルも同様。
  ・***_pg_feed_configsテーブルも同様。
  ・***_pg_feed_detailsテーブルも同様。
  ・***_pg_mail_configsテーブルも同様
  ・***_pg_mail_contentsテーブルも同様
  ・***_pg_mail_fieldsテーブルも同様

  
  問題が発覚しましたので、今回はここまでとさせていただきます。
  

 ◆結論 現在作成中のテーマを現在のテーマにしている状態で、データリセットを押すと、
     blog、feed、mail関係のテーブルでデータが重複状態になりました。
     これがその後の処理に悪影響を及ぼしている可能性が高そうです。


 ◆追伸 今回この処理で文字化けは出ませんでした。この件は整理が出来た時点でお話できればと思います。
     

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

フォーラムガイド


関連リンク

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

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