ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる 【解決済み】
ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
WARPまたはXAMPP(V1.7.1)環境で1.0.1J から 1.0.2Jにアップグレードすると、ログイン画面が添付のように表示され、ログインできなくなります。
アップグレードでは日本語を選択してます。
ログイン画面の文言は初めて見るもので、「アップグレード中・・・少し待ってからリトライしてね」と書かれてます。
アップグレード操作は、http://localhost/modx/install 的なアドレスを叩いてから開始してます。
mojiraさんはアップグレード操作はクリアしてるようなので、WARPやXAMPP依存の問題でしょうか・・・?
確か、1.0.0 -> 1.0.1 -> 1.0.2の間でインストーラも結構変わりましたよね。
アップグレードでは日本語を選択してます。
ログイン画面の文言は初めて見るもので、「アップグレード中・・・少し待ってからリトライしてね」と書かれてます。
アップグレード操作は、http://localhost/modx/install 的なアドレスを叩いてから開始してます。
mojiraさんはアップグレード操作はクリアしてるようなので、WARPやXAMPP依存の問題でしょうか・・・?
確か、1.0.0 -> 1.0.1 -> 1.0.2の間でインストーラも結構変わりましたよね。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
xamppの1.7.1で1.0.1Jから1.0.2Jにアップデートを試みましたが、無事に管理画面にログインできました。そちらではWARPで試しても同様の結果が出たのですよね?なぜだろう・・
インストーラは、1.0.1Jから1.0.2Jが大きく変わってます。本家版との差分を少なくすることで日本語版としては差分が大きくなったのですが。今のところ思い当たるフシがないですが、そのへん気をつけてソースを眺めるようにします。
インストーラは、1.0.1Jから1.0.2Jが大きく変わってます。本家版との差分を少なくすることで日本語版としては差分が大きくなったのですが。今のところ思い当たるフシがないですが、そのへん気をつけてソースを眺めるようにします。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
下記の事象から、マイマシン固有の問題っぽいですね。。。(でも何でだろう・・・)
・mojiraさんとyamaさんマシンでは、「1.0.1Jから1.0.2Jは成功」
・yamaさんマシンの「xampp環境(1.7.1)で1.0.1Jから1.0.2Jは成功」
・sama55マシンの「xampp環境(1.7.1)で1.0.1Jから1.0.2Jは失敗」
もう少し慎重に追ってみたところ、決定的なメッセージを見逃してたことに気付きました(申し訳ないです)。アップデート終盤の「おつかれさまでした!」画面の一番下に以下のエラーメッセージが表示され、アップデートシーケンスがアボートしてました。yamaさん何かピンと来ることありませんか?
下記は調査経緯と気になること。
【インストール(アップグレード)初期画面】
バージョンの組み合わせでinstallフォルダにアクセスした時の最初の画面が違う。
・1.0.0J -> 1.0.1J : 「MODxのインストールを開始します」画面が初期表示される。 ==> OK
・1.0.1J -> 1.0.2J : 言語選択画面が初期表示される。 ==> NG ※既にここからおかしい・・・
【おつかれさまでした!画面】
1.0.1J -> 1.0.2Jへのアップグレード時のみエラーでアボートする。
・1.0.0J -> 1.0.1J : すべて成功。
・1.0.1J -> 1.0.2J : 下のエラーが表示されアップデートシーケンスがアボート。故にログイン画面がアップデート中になる。
WARP : 5.0.41-community-nt ※5.0.51は保証範囲外だが5.0.41は言及なし。(でもダメ?)
XAMPP(1.7.1): 5.1.33
・mojiraさんとyamaさんマシンでは、「1.0.1Jから1.0.2Jは成功」
・yamaさんマシンの「xampp環境(1.7.1)で1.0.1Jから1.0.2Jは成功」
・sama55マシンの「xampp環境(1.7.1)で1.0.1Jから1.0.2Jは失敗」
もう少し慎重に追ってみたところ、決定的なメッセージを見逃してたことに気付きました(申し訳ないです)。アップデート終盤の「おつかれさまでした!」画面の一番下に以下のエラーメッセージが表示され、アップデートシーケンスがアボートしてました。yamaさん何かピンと来ることありませんか?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[*]', &tinyFormats=Block Formats;text;p,h2,h3,h4,h5,h6,div,blockquote,code,pre &' at line 1[/color]
下記は調査経緯と気になること。
【インストール(アップグレード)初期画面】
バージョンの組み合わせでinstallフォルダにアクセスした時の最初の画面が違う。
・1.0.0J -> 1.0.1J : 「MODxのインストールを開始します」画面が初期表示される。 ==> OK
・1.0.1J -> 1.0.2J : 言語選択画面が初期表示される。 ==> NG ※既にここからおかしい・・・
【おつかれさまでした!画面】
1.0.1J -> 1.0.2Jへのアップグレード時のみエラーでアボートする。
・1.0.0J -> 1.0.1J : すべて成功。
・1.0.1J -> 1.0.2J : 下のエラーが表示されアップデートシーケンスがアボート。故にログイン画面がアップデート中になる。
【MySQLのバージョン】You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[*]', &tinyFormats=Block Formats;text;p,h2,h3,h4,h5,h6,div,blockquote,code,pre &' at line 1[/color]
WARP : 5.0.41-community-nt ※5.0.51は保証範囲外だが5.0.41は言及なし。(でもダメ?)
XAMPP(1.7.1): 5.1.33
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
これはTinyMCEのコードですね。1.0.2のインストーラからアドオンの組み込みがSQLスクリプト直書きではなくなって、phpドキュメンターの記述ルールに則って書かれたphpファイルを自動的に検出し組み込めるようになったのですが。1.0.2になってからの大きな違いと言える部分です。このTinyMCEが原因になってるのか、それ以前に何か不具合があって結果としてTinyMCEの組み込みのタイミングでコケているかだと思います。このへんがヒントになりそうですね。You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[*]', &tinyFormats=Block Formats;text;p,h2,h3,h4,h5,h6,div,blockquote,code,pre &' at line 1[/color]
これは1.0.2Jからそのようにしてます。アップグレードで英語になるのは、そこは考えが足りなかったところなので次回で対応しますが・・たぶんここは関係ないような気がします。sama55 さんが書きました: 【インストール(アップグレード)初期画面】
バージョンの組み合わせでinstallフォルダにアクセスした時の最初の画面が違う。
・1.0.0J -> 1.0.1J : 「MODxのインストールを開始します」画面が初期表示される。 ==> OK
・1.0.1J -> 1.0.2J : 言語選択画面が初期表示される。 ==> NG ※既にここからおかしい・・・
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
小出しですみません。
同一の環境(WARP[UniformServer])で、本家版の1.0.1 -> 1.0.2も試したところ、問題なくアップグレードできることを確認しました。比較的新しいMySQLのバージョンに依存したSQL構文が日本版に入ってる気がします。Diffを取ることで何か分かるかもしれません。
今度はロジック面から追いかけてみますね。
同一の環境(WARP[UniformServer])で、本家版の1.0.1 -> 1.0.2も試したところ、問題なくアップグレードできることを確認しました。比較的新しいMySQLのバージョンに依存したSQL構文が日本版に入ってる気がします。Diffを取ることで何か分かるかもしれません。
今度はロジック面から追いかけてみますね。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる 【解決済み】
大体のカラクリ分かりました。
1.1.0.1(J)と1.0.2(J)における変更点の整理(本件に関することだけ)
・tinyMCE : 1.0.1Jから、3.2.5 -> 3.2.7にアップグレードした。1.0.2JはV3.2.7のまま。
・インストーラ : 1.0.1(J)から、インストール/アップグレードの方式が変更された(インストール物の外部定義化)。
2.問題を引き起こすデータ
tinyMCEのプラグイン設定内の以下の部分がまずいようです(ワイルドカード)。
3.バージョンアップで問題になる箇所
3.1 インストール済みデータ
1.0.1Jで既にDBに保存されてる、valid_elements : '*[*]',[/b]
3.2 アップデートファイル
・install/assets/plugins/tinymce.tpl (L10) ※valid_elements : '*[*]',[/b]
・assets/plugins/tinymce/tinymce.tpl (L10) ※valid_elements : '*[*]',[/b]
#######################################
4.対処(回避)法
・現サイトのTinyMCEプラグインのプラグイン設定からvalid_elements : '*[*]',[/b]を削除して保存
・1.0.2Jのファイル群を上書き
・「3.2 アップデートファイル」のvalid_elements : '*[*]',[/b]を削除(2箇所)
・install(アップグレード)実施 >> 問題なくアップグレードされる
・TinyMCEプラグインのプラグイン設定にvalid_elements : '*[*]',[/b]を追加して保存
#######################################
1.1.0.1(J)と1.0.2(J)における変更点の整理(本件に関することだけ)
・tinyMCE : 1.0.1Jから、3.2.5 -> 3.2.7にアップグレードした。1.0.2JはV3.2.7のまま。
・インストーラ : 1.0.1(J)から、インストール/アップグレードの方式が変更された(インストール物の外部定義化)。
2.問題を引き起こすデータ
tinyMCEのプラグイン設定内の以下の部分がまずいようです(ワイルドカード)。
※恐らく、mySQLのUpdate文またはSelect文でワイルドカードをSQL構文上の制御文字と誤認してるためではないかと・・・valid_elements : '*[*]',[/b]
3.バージョンアップで問題になる箇所
3.1 インストール済みデータ
1.0.1Jで既にDBに保存されてる、valid_elements : '*[*]',[/b]
3.2 アップデートファイル
・install/assets/plugins/tinymce.tpl (L10) ※valid_elements : '*[*]',[/b]
・assets/plugins/tinymce/tinymce.tpl (L10) ※valid_elements : '*[*]',[/b]
#######################################
4.対処(回避)法
・現サイトのTinyMCEプラグインのプラグイン設定からvalid_elements : '*[*]',[/b]を削除して保存
・1.0.2Jのファイル群を上書き
・「3.2 アップデートファイル」のvalid_elements : '*[*]',[/b]を削除(2箇所)
・install(アップグレード)実施 >> 問題なくアップグレードされる
・TinyMCEプラグインのプラグイン設定にvalid_elements : '*[*]',[/b]を追加して保存
#######################################
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
もしかするとダブルクォートで囲むと違うかも。('*[*]'→"*[*]")
(根拠はないけど他はダブルクォートなので)
(根拠はないけど他はダブルクォートなので)
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
3箇所ともそうすればうまくいくかも。。。yama さんが書きました:もしかするとダブルクォートで囲むと違うかも。('*[*]'→"*[*]")
(根拠はないけど他はダブルクォートなので)
(ファイルの方だけ真っ先にやったのですが現象変わらず。ここでえらく悩みました・・・ToT)
@internalを処理するSQLの大元のロジックも関係してる・・・かも。(PHPはまだ見てないっす)
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
これもしかすると
$hoge = 'abcd 'efg' hijk';
みたいなことになっちゃってるのかも。このとおりだとしたら必ず失敗するはずだけど、これに近いポカミスかも。汗
いずれにせよ他がダブルクォートならダブルクォートで揃えるほうがよいですね。次はそうします
(問題があることが確定っぽければ、重めの不具合だと思うのでp1リリースしたほうがよいかも?)
$hoge = 'abcd 'efg' hijk';
みたいなことになっちゃってるのかも。このとおりだとしたら必ず失敗するはずだけど、これに近いポカミスかも。汗
いずれにせよ他がダブルクォートならダブルクォートで揃えるほうがよいですね。次はそうします
(問題があることが確定っぽければ、重めの不具合だと思うのでp1リリースしたほうがよいかも?)
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
MySQLのバージョンが絡むので、すごく微妙~な判断ですねーーyama さんが書きました:(問題があることが確定っぽければ、重めの不具合だと思うのでp1リリースしたほうがよいかも?)
事がバージョンアップなので、比較的古いMySQLを使ってる人ほど出易い傾向はあるかもしれませんね。
本家の次期バージョンとの兼ね合いもあると思うので、その辺と相談でしょうか・・・
(とりあえず、当フォーラムには原因と回避策は記したので、原因不明で困ってる人は救えると思います)
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
私も、2件ほど1.0.1Jから1.0.2Jにアップデートしたのですが、
どちらも以下の現象が起こりました。
#特にエラーは出ていなかったと思います。(見落としただけかも?)
●インストール画面最初の言語とログイン画面が英語になる。
●ログインができない。(その代り、エラー後のログイン画面は日本語)
(色々と打ちなおしたり、閉じたり開いたりしているうちに、なにかのはずみでログインできました)
●ログインして最初の画面はCSS無しのような設定画面になり、そのまま「保存」で、いつもの管理画面になる。
2件は、PHPもMySQLもバージョンが違う(業者も違う)サーバです。
PHP5.3.0/MySQL5.1.40-log
PHP5.1.6/MySQL5.0.45
少し気になったのは、アップデートする前、管理画面にログインしたままだったということ。
(関係ないかもしれませんが)
どちらも以下の現象が起こりました。
#特にエラーは出ていなかったと思います。(見落としただけかも?)
●インストール画面最初の言語とログイン画面が英語になる。
●ログインができない。(その代り、エラー後のログイン画面は日本語)
(色々と打ちなおしたり、閉じたり開いたりしているうちに、なにかのはずみでログインできました)
●ログインして最初の画面はCSS無しのような設定画面になり、そのまま「保存」で、いつもの管理画面になる。
2件は、PHPもMySQLもバージョンが違う(業者も違う)サーバです。
PHP5.3.0/MySQL5.1.40-log
PHP5.1.6/MySQL5.0.45
少し気になったのは、アップデートする前、管理画面にログインしたままだったということ。
(関係ないかもしれませんが)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
http://d.hatena.ne.jp/hikidas_ikeda/
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
直接的な影響は少ないと思いますが、それも関係ありそうな気がしてます。kazuike さんが書きました:少し気になったのは、アップデートする前、管理画面にログインしたままだったということ。
(関係ないかもしれませんが)
インストーラの中でセッション見てるんですよね。。。
様々な要素が複雑に絡み合って現象も色々。kazuikeさんが見た、日本語っぽいログイン画面やCSSが適用されない管理画面も自分確認してます。ブラウザを変えると挙動が変わるので、何でだろう?と思ったのですが、セッション絡みと理解しました。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
インストール時・アップグレード時に /install/ ディレクトリに直接アクセスした場合は、1.0.2Jの場合は初期画面が英語になります。これは次回対応できると思います。管理画面ログイン直後にCSSを認識してないような白い状態になるというのは、サイトキャッシュが初期化されてる場合にそのようになりますね。初期化というのはMODxアーカイブに含まれるサイトキャッシュをそのまま上書きした場合、ある条件でそのようになるみたいです。どういう場合かは忘れましたが、昔から何度か経験したことがあります。
セッション絡みは1.0.2で何らかの改修が入ったのを確認してます。
全体的に、インストーラの構成がすっきりしていない印象があります。インストーラを改良することでどんなメリットが得られるか(どうせやるならどんなふうに改良したいか)を整理したうえで、必要であれば改良に取り組みたい気もウズウズします。
セッション絡みは1.0.2で何らかの改修が入ったのを確認してます。
全体的に、インストーラの構成がすっきりしていない印象があります。インストーラを改良することでどんなメリットが得られるか(どうせやるならどんなふうに改良したいか)を整理したうえで、必要であれば改良に取り組みたい気もウズウズします。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
http://code.google.com/p/modx-ja/issues/detail?id=328
上記の議論などを経て、原因が特定できました。対症療法でよければ、単純なパッチで対応できます。根本的な問題については今回は慌てて対応せず、シンプルな対応で済ませるのがよいと思います。毎日20~30件のダウンロードがあるので、早いうちの対応を用意したいと思います。
(できれば今晩中にでも)
上記の議論などを経て、原因が特定できました。対症療法でよければ、単純なパッチで対応できます。根本的な問題については今回は慌てて対応せず、シンプルな対応で済ませるのがよいと思います。毎日20~30件のダウンロードがあるので、早いうちの対応を用意したいと思います。
(できれば今晩中にでも)
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
http://code.google.com/p/modx-ja/downlo ... .2.7p1.zip
パッチを作りました。作ったというほどのものでもなくて、tinymce.tplのバージョンを書き換えただけですが・・どなたか確認をお願いします。tinymce.tplをインストーラに上書きして、インストールをやり直すだけでよいです。
http://code.google.com/p/modx-ja/downlo ... .2J-p1.zip
該当ファイルを差し替えた1.0.2Jもアップしておきます。アーカイブ名にはp1がついてますが、コアやインストーラ本体側の変更はありません。これから1.0.2Jへアップデートをする人用です。
特に問題なさそうであればリリースしたいと思います。
パッチを作りました。作ったというほどのものでもなくて、tinymce.tplのバージョンを書き換えただけですが・・どなたか確認をお願いします。tinymce.tplをインストーラに上書きして、インストールをやり直すだけでよいです。
http://code.google.com/p/modx-ja/downlo ... .2J-p1.zip
該当ファイルを差し替えた1.0.2Jもアップしておきます。アーカイブ名にはp1がついてますが、コアやインストーラ本体側の変更はありません。これから1.0.2Jへアップデートをする人用です。
特に問題なさそうであればリリースしたいと思います。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
ちょっと確認させてください。
以下のような感じで、なんとかログインできて設定まで行った場合
http://forum.modx.jp/viewtopic.php?f=60&p=1151#p1115
今回配布された中の「tinymce.tpl」の「@internal @properties」の右側の文字列を行末まで全部取り出し、
TinyMCEのプラグイン設定に(上書きで)貼り付ければ良いですよね?
それとも、もう一度アップデートしたほうが良い?
それと、
貼り付ける時に、ダブルクォーテーションは削らないといけなかったでしたっけ?
以下のような感じで、なんとかログインできて設定まで行った場合
http://forum.modx.jp/viewtopic.php?f=60&p=1151#p1115
今回配布された中の「tinymce.tpl」の「@internal @properties」の右側の文字列を行末まで全部取り出し、
TinyMCEのプラグイン設定に(上書きで)貼り付ければ良いですよね?
それとも、もう一度アップデートしたほうが良い?
それと、
貼り付ける時に、ダブルクォーテーションは削らないといけなかったでしたっけ?
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
http://d.hatena.ne.jp/hikidas_ikeda/
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
そです。もちろんアップデートし直してもいいけど、ログインできてるならそこまでやるのはおおげさなので。kazuike さんが書きました:今回配布された中の「tinymce.tpl」の「@internal @properties」の右側の文字列を行末まで全部取り出し、
TinyMCEのプラグイン設定に(上書きで)貼り付ければ良いですよね?
ダブルクォートやアスタリスクがどういうふうに関係してるのかは具体的にはまだよく分かってません。TinyMCEのinit文としてはイレギュラーでないポイントで切れてしまってる点も謎のひとつです(むしろヒントかも)。ダブルクォートは削るとTinyMCEが動かなくなります。シングル・ダブルいずれかに統一すればよいと思います。たぶんダブルに統一が正解です
とりあえず今回のアプローチとしては、TinyMCEを強制的にアップデートさせる方法を採用しました。実際、構成が変わっているのでアップデートする必要があります。バージョン表記を変更することでアップデート対象として検出させることができます。アップデート対象でない場合は何をしてるのだろう?って感じで、何もしなくてよいはずですが。
Re: ローカル環境で1.0.1Jから1.0.2Jにアップグレードするとログインできなくなる
安全を期して、もう一度アップデートすることをお勧めします。kazuike さんが書きました:以下のような感じで、なんとかログインできて設定まで行った場合
http://forum.modx.jp/viewtopic.php?f=60&p=1151#p1115
今回配布された中の「tinymce.tpl」の「@internal @properties」の右側の文字列を行末まで全部取り出し、
TinyMCEのプラグイン設定に(上書きで)貼り付ければ良いですよね?
それとも、もう一度アップデートしたほうが良い?
アップデート中に上記のエラーが表示されてアップデートシーケンスがアボートすると、tinyMCEより後方の処理が行われずに、インストール/アップデート中フラグが立ちっぱなしになります。その結果、ログイン画面が”アップデート中・・・ちょっと待ってね”になります。この状態を回復するためには、1.0.2Jに、リリースされたパッチファイルを上書きして、アップデートを再度実行するのが一番確実な方法だと思います。You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[*]', &tinyFormats=Block Formats;text;p,h2,h3,h4,h5,h6,div,blockquote,code,pre &' at line 1[/color]
また、アップデートでは、旧プラグインをバックアップしますので、この問題の如何に関わらず、アップデートが正しく終了したら、エレメント>>プラグインを開いて、不要なプラグインが多数残ってないか確認してください(アップデートを繰り返し実行するとバックアップが嵩む懸念があります)。