3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ)

zuzu > 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2016/12/25 21:04
こんにちは。
バージョン3.0.9でサイトを運用していたのですが、セキュリティ上の必要性から3.0.11にバージョンアップしなければならないことを知りました。遅ればせながら対応したのですが、3.0.9から3.0.10にバージョンアップした段階でトラブルが発生しておりまして、解決の目処がたたずSOSさせてください。

-------
症状
-------
3.0.10へアップデート後、スマートフォンからサイトにアクセスすると、次のように表示されます。
「見つかりませんでした。Error: The request sent to the address '/s/example' was invalid.」

PCからアクセスすると /example のページは3.0.9のときと同様、ちゃんと表示できています。

固定ページのうちスマートフォンからちゃんと表示できるページもあります。それは、「固定ページ管理」>「オプション」で「このページだけ連動しない」にチェックを入れ、スマートフォン専用のページを作ってある場合です。
逆に、スマートフォン専用ページがない(PCと連動している場合)のみ、スマートフォンからアクセスすると上記のように画面に表示されてしまい、コンテンツが表示されませんでした。

-------
やったこと
-------
「baserCMS 3.0.10アップデート方法」 http://basercms.net/howtoupdate/3_0_10
のとおりに作業しました。

スマートURLはONのはずなので、その点は何も操作していません。
index.phpはURLに現れていませんので。システム管理のページにスマートURLの設定があるようなことが書いてあるのですが、私の3.0.9ではそのような設定はオプション内にもどこにもみあたりませんでした。

---------------------
3.0.9のときの設定
---------------------
「システム管理」>「オプション」のところで
「スマートフォン」は「対応する」にチェックを入れてあり、かつ「連動する」のラジオボタンを選んでありました。
3.0.10にアップデート後もこの設定は変わることなく、同じ設定となっていました。

--------------
当方の環境
--------------
PHP 5.6.13
セーフモード:Off
データベース: MySQL 5.5.45
CakePHPバージョン: 2.5.9

ブラウザ iPhone (iOS 10.2 の Safari) と XPERIA (Android 4.2.2の付属ブラウザ)で動作確認

baserCMSで使っているプラグイン
・Blog 3.0.10
・Feed 3.0.10
・Mail 3.0.10
・Uploader 3.0.10
・Sitemapxml 3.0.10

--------------
ログ
--------------
「システム設定」>「ログメンテナンス」でダウンロードしたログのうち、debug.log に気になる出力があります。
Trace:のところは長くなるので省略します。あと、一部伏せ字にさせてもらいます。
う〜ん、ひょっとしてElementsフォルダ内のファイルが、アップデートのときに消されちゃったってことかな。
お騒がせしてすみません。後で確認してみますが、もしお気づきの点がありましたら、教えていただけますとありがたいです。

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/header-p*****.php in [/var/www/******/lib/Cake/View/View.php, line 425]

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/header-w*****.php in [/var/www/******/lib/Cake/View/View.php, line 425]

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/footer-s*****.php in [/var/www/******/lib/Cake/View/View.php, line 425]

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/footer-p**********.php in [/var/www/******/lib/Cake/View/View.php, line 425]

よろしくお願いいたします。
zuzu > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2016/12/25 22:30
自己resです。
Not Found: になっている以下のファイルは、独自に作ったテーマの中にあるファイルです。
Pathは、/var/www/******/theme/mytheme1/Elements/smartphon/ です。
フォルダもその中のファイルも、パーミッションや所有者は、3.0.10へのアップデート前後で変わりはありません。そもそも、themeはアップデートにあたり、上書きの対象ではないですから、何も変わりが無くてもあたりまえです。じゃあ、どうして Not Foundなのかわからないです・・・

-----
2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/header-p*****.php in [/var/www/******/lib/Cake/View/View.php, line 425]

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/header-w*****.php in [/var/www/******/lib/Cake/View/View.php, line 425]

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/footer-s*****.php in [/var/www/******/lib/Cake/View/View.php, line 425]

2016-12-25 20:54:11 Notice: Notice (1024): Element Not Found: Elements/footer-p**********.php in [/var/www/******/lib/Cake/View/View.php, line 425]
-----


zuzu > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/7 0:07
本件、未解決のままで困っております。

私の環境では、「baserCMSテーマ制作チュートリアル」の5〜7ページの記載のとおりに、「baserCMSのドキュメントルートの構造」を変化させております。
これが 3.0.9から3.0.10へのアップデートにより、スマホサイトが見えなくなる原因となり得ますでしょうか。Pathは正しいと思われるところにパッチ当てしたつもりなのですが。

「baserCMSテーマ制作チュートリアル」の7ページ分を添付いたします。
何か情報がありましたらご支援をよろしくお願いいたします。
.pdf
goichi > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/8 14:15
こんにちは、直接の解決策でないのですが、回答がつかないようなので、返信してみています。
(すこし状況を確認させていただけると、回答がつきやすいかも知れません。)

1.サーバー環境
レンタルサーバー名の記載がないように思いますが、独自で立てたサーバーでしょうか?

2.テーマの編集の有無
特にテーマを編集していないということでしたが、
引用:
Pathは、/var/www/******/theme/mytheme1/Elements/smartphon/ です。

とおっしゃている箇所、「/smartphon」ではなく「/smartphone」ではないでしょうか?
(ただのタイポならそのまま流してください。)

3.デバッグモードの出力を確認する
システム管理>動作モードを「デバッグモード」にしてみたとき、ページが見当たらないというエラーメッセージに変化がありますか?
(いままで見えていなかった表示が出現したりしないでしょうか?)

なお、ご質問いただいている内容のうち
引用:
私の環境では、「baserCMSテーマ制作チュートリアル」の5〜7ページの記載のとおりに、「baserCMSのドキュメントルートの構造」を変化させております。

については、デベロッパーの人たちに聞いてみていますので、しばらくお待ち下さい。

ダイレクトな回答でなくて申し訳ないです。
goichi > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/8 23:01
すみません、このバグに関してパッチが出ていますが、差分を適用(同名ファイルを上書きする)して頂いているでしょうか?
もし、まだでしたらお試しいただけますか?
zuzu > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/10 13:30
goichiさん、コメントをいただきありがとうございました。

1. サーバ環境

 さくらインターネットのVPSタイプを利用しております。

2. テーマ編集の有無

 Pathですが私のtypoでした。すみません。
 正しくはgoichiさんご指摘のとおり、
 /var/www/******/theme/mytheme1/Elements/smartphone/
 です。

3. デバッグモードの出力を確認する

「システム管理」 > 「サイト基本設定」 > 「制作・開発モード」にて「デバッグモード1」を指定してみました。
すると、スマホ画面上に、以下のようなエラーが表示されるようになりました。********は伏せ字です。
--------------------- ここから ---------------------
Notice (1024): Element Not Found: Elements/header-********.php [CORE/Cake/View/View.php, line 425]

Notice (1024): Element Not Found: Elements/header-warm.php [CORE/Cake/View/View.php, line 425]

見つかりませんでした。

Error: The request sent to the address '/s/warm' was invalid.
Stack Trace

CORE/Baser/Controller/PagesController.php line 596 → BcAppController->notFound()
[internal function] → PagesController->display(string)
CORE/Baser/Controller/PagesController.php line 744 → call_user_func_array(array, array)
[internal function] → PagesController->smartphone_display(string)
CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(PagesController, array)
CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(PagesController, CakeRequest)
ROOT/index.php line 151 → Dispatcher->dispatch(CakeRequest, CakeResponse)

Notice (1024): Element Not Found: Elements/footer-system.php [CORE/Cake/View/View.php, line 425]

Notice (1024): Element Not Found: Elements/footer-particular.php [CORE/Cake/View/View.php, line 425]
--------------------- ここまで ---------------------

 なお、パッチが出ていることは知りませんでした。これからそのパッチを適用してみます。
 教えてくださってありがとうございます。とても助かります!
zuzu > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/10 14:15
goichiさん、こんにちは

パッチを適用してみました。

すると、スマートフォンでの表示が、うそのように正常に表示されるようになりました。

しかし、不具合を2点、見つけてしまいました。

(1) 固定ページ管理のページが表示されない(システム管理画面にログイン時)

 固定ページ管理画面(固定ページの一覧画面)を表示させようとすると、通常の閲覧用(といいますか、公開用)のページの方が表示されてしまいます。しかも、ヘッダー、フッター、サイドメニューの表示は正常ですが、コンテンツの表示エリアには以下の2行が表示されるだけで、肝心のコンテンツは表示されていません。

--------------ノーマルモードの場合-------------------------
An Internal Error Has Occurred.

エラー: An Internal Error Has Occurred.
---------------------- ここまで -----------------------

--------------デバッグモード1の場合だと以下のような表示になります-------------------------
Database Error

エラー: SQLSTATE[42000]: Syntax error or access violation: 1064 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 'resetContentsSortLastModified' at line 1
SQL Query: resetContentsSortLastModified
注意: このエラーメッセージをカスタマイズしたい場合は、 app/View/Errors/pdo_error.ctp を作成してください
Stack Trace
CORE/Baser/Model/Datasource/DboSource.php line 472 → PDOStatement->execute(array)
CORE/Baser/Model/Datasource/DboSource.php line 438 → DboSource->_execute(string, array)
CORE/Baser/Model/Datasource/DboSource.php line 680 → DboSource->execute(string, array, array)
CORE/Baser/Model/Datasource/DboSource.php line 623 → DboSource->fetchAll(string, array, array)
CORE/Cake/Model/Model.php line 808 → DboSource->query(string, array, SiteConfig)
CORE/Baser/Controller/PagesController.php line 95 → Model->__call(string, array)
CORE/Baser/Controller/PagesController.php line 95 → SiteConfig->resetContentsSortLastModified()
[internal function] → PagesController->admin_index()
CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(PagesController, array)
CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(PagesController, CakeRequest)
ROOT/index.php line 151 → Dispatcher->dispatch(CakeRequest, CakeResponse)
---------------------- ここまで -----------------------


(2) ブログプラグインのページをスマートフォンで閲覧した場合、エラーメッセージが表示される。

 デバッグモード1かつスマートフォンで閲覧にした場合に表示されます。ノーマルモードでは発生しておりません。
 これは今回のパッチ適用前でも後でも発生しております。

------------------------ ここから ----------------------
Notice (8): Undefined index: contentId [CORE/Baser/Plugin/Blog/Controller/BlogController.php, line 546]
CodeContext

$conditions = array();

if ($options['contentId']) {

$options = array(
'direction' => 'DESC',
'num' => '10',
'page' => (int) 1,
'sort' => 'posts_date',
'listCount' => '10'
)
$named = array()
$_conditions = array(
'category' => null,
'tag' => null,
'year' => null,
'month' => null,
'day' => null,
'id' => null,
'keyword' => null,
'author' => null
)
$direction = 'DESC'
$num = '10'
$page = (int) 1
$sort = 'posts_date'
$listCount = '10'
$expects = array(
(int) 0 => 'BlogContent',
(int) 1 => 'BlogCategory',
(int) 2 => 'User',
(int) 3 => 'BlogTag'
)
$conditions = array()

BlogController::_getBlogPosts() - CORE/Baser/Plugin/Blog/Controller/BlogController.php, line 546
BlogController::index() - CORE/Baser/Plugin/Blog/Controller/BlogController.php, line 172
BcAppController::setAction() - CORE/Baser/Controller/BcAppController.php, line 1451
BlogController::smartphone_index() - CORE/Baser/Plugin/Blog/Controller/BlogController.php, line 198
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167
[main] - ROOT/index.php, line 151
------------------------ ここまで ----------------------

みなさんの環境では何も問題は発生していらっしゃらないのでしょうか。
固定ページの管理画面が表示できない、ということですと大問題になっているかと思いますが、皆さんの環境だと大丈夫っていうことなのかな・・・と。う〜ん、、、困りましたね。
zuzu > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/10 14:34
お騒がせしております。実は、もうひとつだけ不具合を見つけております(3.0.10)
こちらのパッチ適用前も後も発生しております。

今回、「システム管理」>「サイト基本設定」>「制作・開発モード」にて、「ノーマルモード」と「デバッグモード1」とを切り替えつつ動作を確認しておりました。しかし、このどちらの側の切り替えの際も、【2回操作が必要】という挙動となっております。

例えば、ノーマルモードからデバッグモード1に切り替えるには、
a) 「制作・開発モード」のプルダウンメニューから「デバッグモード1」を選択
b) 「保存」ボタンをクリックする
 ---- しかしこの段階ではノーマルモードのままのため ----
c) 「制作・開発モード」のプルダウンメニューから「デバッグモード1」を選択
d) 「保存」ボタンをクリックする
ともう一度 a)b)と同じ操作をすることで初めてデバッグモード1に変更することができます。

逆にデバッグモード1からノーマルモードに戻すときも同じで、一度目の操作ではデバッグモード1のままとなるため、もう一度操作してそれで初めてノーマルモードに戻っています。

ご参考までに スクリーンショットを添付します。
どうかよろしくお願いいたします。


goichi > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/10 21:06
こんにちは、一難去ってまた一難ですね(^^;;;
ありますよね、そういうとき。。。

さて、問題が複数でているようなので整理させてください。

1)管理画面の固定ページ管理が表示されない。
2)デバッグモード時にブログでNoticeエラーがでる
3)システム管理を2回保存しないと反映しない

という感じでしょうか。
1)についてですが、出ているエラーを拝見するに、未定義のメソッドなどが呼ばれているような気がしています。
こんかい当てたパッチですが、3.0.12で解消されたチケットなので、現在の3.0.10ではまだ未定義の処理を呼ぼうとしているのかもしれません。
(違ってたらすみません)

なお、現在の3.0.10から3.0.12までは一発でバージョンアップできず、間に3.0.11.1というバージョンを挟む必要があります。
(3.0.11はパッケージングミスで廃止済み。3.0.11.1が正解です。なおバージョンアップ方法は3.0.11と同じです。)

2)については、実は私も同じ状況になったことがあります。Noticeエラーなのでそのまま放置していたのですが(汗)、気持ち悪いですよね。(ただ、これはPHPのバージョンとか、環境によって起きるときと起きないときがありそうです)
デバッグモード時に出力されるのは、ノーマルモードではセキュリティの観点から、この手のエラーメッセージを秘匿するためです。
なので今回は「もともと出ていたけど、ノーマルモードで隠されていたものが出力されるようになった」という感じです。

3)については、未体験の領域ですが、もしかしたら、1)と同じような問題なのかも知れません。
単純なバグにしては大きいので、他の人が気づかないはずもなく、今回のような条件下でのみ起きるものと考えると、パッチ部分だけでなく、全体を3.0.12までバージョンアップしたら、うまくいきそうな気がしています。

(追記:パッチの提供前でも出ていたのですね、読み飛ばしてました。バージョンアップ後も同じであれば、スレッドを新たに立ててバグ報告をすると良いと思います)

色々かきました。間違ってたらすみません。
(もし、解決しない場合、別のスレッドを新たに立ててもらったほうが良いかも知れません。)


zuzu > Re: 3.0.9から3.0.10にアップデートするとスマートフォンサイトが見えなくなる(PCと連動している固定ページ) @ 2017/1/13 23:32
goichiさん、こんにちは

いろいろと教えてくださり、ありがとうございます。
一難去ってまた三難みたいな感じです(^^;

> 1)管理画面の固定ページ管理が表示されない。
> 2)デバッグモード時にブログでNoticeエラーがでる
> 3)システム管理を2回保存しないと反映しない

はい、この3点が三難です。
2)と3)はマイナーな問題ですが、1)はビッグイシューですね。

基本的にやりたいことは、(3.0.11.1にアップデートし)baserCMSの脆弱性を塞ぐことです。
baserCMSにログイン中によそのサイトを見に行かなければ、とりあえずは安全なので、
しばらくは運用でカバーすることにします。あいにく、時間を取れない状況になってきたため
ですが、後日また対応したいと考えております。
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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