バージョンアップすると、固定ページの保存ができない現象が発生します

こんにちは!
初めて投稿します。

毎回ではないのですが、バージョンアップをすると、
以前にもフォーラムで指摘されていた、
「固定ページ保存ができない現象」が発生します。

http://forum-archive.basercms.net/modules/newbb/viewtopic.php?topic_id=2041&forum=5
http://project.e-catchup.jp/issues/10681

などに報告されていますが、
最近では4.3.2でも発生しました。

Page.php の修正をすると、正常に動作するようになるのですが、
これはサーバー環境によって発生するとのことで、正式な修正案件にはならないのでしょうか?

2 Likes

@abc こんにちは。確認です。
「Page.php を修正すると」とのことですが、

exec('php --version 2>&1', $output, $exit);

exec('php -l 2>&1', $output, $exit);

に修正すると正常に動作するということでしょうか??

ryuringさん こんにちは!
ありがとうございます。

813行目
public function phpValidSyntax($check) {
の下に
return true;
を追加しました。

@abc 強制的に true を返しているということですね。
再現できないのですが、サーバー環境を教えて頂けますか?

また、exec('php --version 2>&1', $output, $exit); の実行結果も知りたいです。
次の行に、 var_dump($exit);exit(); と記載するとどのような表示になるでしょう?

ryuringさん

サーバー情報は下記でよろしいでしょうか?
セーフモード:Off
データベース: MySQL 5.7.29
baserCMSバージョン: 4.3.2
CakePHPバージョン: 2.10.16
PHP Version 7.1.33

また、 exec('php --version 2>&1', $output, $exit); の実行結果も知りたいです。
次の行に、 var_dump($exit);exit(); と記載するとどのような表示になるでしょう?

特に問題なく動作しましたが、
return true;を外すと、更新できず、フリーズし、最終的にはサーバーエラーになります。

また関係ないかもしれませんが、

debug.log の中が、
Trace:
ErrorHandler::handleError() - CORE/Cake/Error/ErrorHandler.php, line 230
FeedHelper::saveCachetime() - CORE/Baser/Plugin/Feed/View/Helper/FeedHelper.php, line 69
include - ROOT/theme/tokuichi/Feed/default.php, line 5
View::_evaluate() - CORE/Cake/View/View.php, line 971
BcAppView::_evaluate() - CORE/Baser/View/BcAppView.php, line 532
View::_render() - CORE/Cake/View/View.php, line 933
View::render() - CORE/Cake/View/View.php, line 473
Controller::render() - CORE/Cake/Controller/Controller.php, line 968
FeedController::index() - CORE/Baser/Plugin/Feed/Controller/FeedController.php, line 189
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 499
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167
[main] - ROOT/index.php, line 123

となっていて、気になります。

@abc デバッグログは関係ないようです。
どちらにせよ、phpのコードバリデーションがうまくいっていないので、次の処理で逃げれます。

app/Config/setting.php に次の設定を記入

$config = [];
↓
$config['BcApp.validSyntaxWithPage'] = false;

ありがとうございます!
明日試してみます。

早速、ご教示通りの処理を試してみました。
当初の、Page.php も
return true;
を外してみましたが、正常に動作しました。

おかげさまで、今後は安心してバージョンアップできます。
ryuring さん。このたびは、ありがとうございました。

今後ともよろしくお願いいたします。

1 Like