いつもお世話になっております。
またまたトラブルです
PHPのバージョンを変更したところ、
固定ページだけ、
1:レイアウトが崩れた。
2: ウィジェットエリアに
An Internal Error Has Occurred.
エラー: 内部エラーが発生しました。
が表示されるようになりました。
また、ページのメニューが読み込まれています。
3:画面上部の編集画…
上記のトピックで原因を探していたら、
ウィジェットエリアの1つ1つをオンオフして調べてみたところ、
「サイト内検索」をオンにするとエラーになることが判明しました。
現在、「サイト内検索」の表示をオフすることにより、
エラーが解消されているところです。
「サイト内検索」だけオンにしたところ、エラーとなります。
「サイト内検索」は、
コアウィジェットの中から何も加工せずに(加工できないと思いますが)
使用していたのでこれはバグなんでしょうか??
他の環境でも再現するか確認をお願いしたいところです。
とりあえず、表示できるようになりましたが、「サイト内検索」が使えない状態です。
という結果になりました。
「サイト内検索」が使えないバグ?ではないかと思いますので、
こちらに新しくトピックを作成しました。
他の方で同じ症状が発生してないでしょうか?
【環境情報】
・baserCMSのバージョン:4.4.1.1
・レンタルサーバー名:ロリポップ
・使用テーマ:bc_sample
・PHPスキル(自己評価): 全くわからない
「いいね!」 1
先日リリースされたばかりのPHP7.4.12とbaserCMS4.4.1.1で
新規インストールして試してみましたが、再現しませんでした。
他に何かヒントになりそうな情報はありますでしょうか?
「いいね!」 1
5系から7.4に変更したくらいでしょうか。
あと、ロリポップの一番安いプランくらいです。
デバッグモードに設定すると何か表示されますでしょうか?
上記ページはv3の情報ですが、同じように管理画面で設定できます。
「いいね!」 1
こんばんは。
デバックモードですが、
以前も、選択できなくなっていて、
ちょっと作業が必要でした。
以前、こちらで教えていただいた方法で対応できました。
先ほど4.3.3にアップデートしました。
対応ブラウザではないのですが、(先ほど気がつきました )
バグではないと思うのでのでこちらに投稿します。
これまでの4.3.2では、
Edge( Chromium版)で編集ができていました。
(chromeのほうでは問題ありません。)
4.3.3では、
ダッシュボードの
コンテンツ情報、最新の動きが表示されな…
Argument 2 passed to TreeBehavior::formatTreeList() must be of the type array, bool given, called in /home/users/0/main.jp-サイト名/web/フォルダ名/lib/Cake/Model/Behavior/TreeBehavior.php on line 454
エラー: 内部エラーが発生しました。
Stack Trace
以下、この部分にはなにかがずらーっとでております。
これでなにか、わかりますでしょうか。
GUSSAN
2020 年 11 月 7 日午前 8:38
8
PHP Version 7.4.4
baserCMSバージョン: 4.4.1.1
データベース: SQLite
当方のLOLIPOPのホスティング環境に上記の環境を新たに作り、bc_sample(v.1.0.0)を別環境から移植して再現性を試みてみましたが、不具合は発生しませんでした。
サービスプランは違うかもしれませんが、ホスティングサービスも同じですので、比較的環境は近いと思います。
少し横道にそれますが、今回、はじめてSQLiteを使ってみましたが、バージョンアップやモジュールの追加などアップデートをした後は、キャッシュの内容とコンフリクトを起こして、見かけ上不具合を起こしたような挙動が多いなぁーという印象です。
ですので、アップデートの後は、ブラウザのキャッシュクリア、サーバーキャッシュクリア、場合によってはログアウトしての再ログインなどの手順を入れたほうが良いように感じました。
「いいね!」 1
再現ありがとうございます。
発生しませんでしたか。
ですので、アップデートの後は、ブラウザのキャッシュクリア、サーバーキャッシュクリア、場合によってはログアウトしての再ログインなど、環境を刷新する作業を入れたほうが良いように感じました。
ブラウザキャッシュはコントロール+F5を押す。
サーバーキャッシュは画面の右上のボタンを押す、
というのは行っておりますが、
ログアウトは試してないので試してみましたが変化なしでした。
うーむ。
GUSSAN
2020 年 11 月 8 日午前 1:50
10
ふと思ったのですが、下記、サーバー側のphp.iniの設定はされていますか?
全くの当てずっぽうですが、再度、チェックしてみてください。
mbstring.internal_encodingの設定
「いいね!」 1
こんにちは。
アドバイスありがとうございます。
「mbstring.internal_encoding」の項目を確認したところ、
「未設定」になっていたので、「UTF-8」にしました。
(これまで簡単インストールして、PHP5系で使ってきて不具合なかったので、この設定は7系にしたときに元?にもどってしまったのかもしれません。注意が必要ですね。)
結果、不具合は解消されませんでした。
別に原因があるのかな??
must be of the type array,
ありがとうございます、修正できるかも?後ほど修正ファイルを作ります。
「いいね!」 1
回答ありがとうございます。
ということは、baserCMSの不具合という理解でよろしいのでしょうか?
エラーを吐いている場所を直せば早いんですが、CakePHP本体なので
できればここはさわらずに済ませたいです。
app/webroot/theme/bc_sample/Elements/widgets/search.php
上記のファイルの中身を教えていただけますでしょうか?
当トピックにファイルを添付いただくか、中身をテキストとして
貼り付けていただければ見てみます。
「いいね!」 1
こんばんは。
これでよろしいでしょか?
よろしくお願いします。
<?php
/**
* [PUBLISH] サイト内検索フォームウィジェット
*
* baserCMS : Based Website Development Project <http://basercms.net>
* Copyright (c) baserCMS Users Community <http://basercms.net/community/>
*
* @copyright Copyright (c) baserCMS Users Community
* @link http://basercms.net baserCMS Project
* @package Baser.View
* @since baserCMS v 0.1.0
* @license http://basercms.net/license/index.html
*/
/**
* $this->BcBaser->widgetArea('ウィジェットエリアNO') で呼び出す
* 管理画面で設定されたウィジェットエリアNOは、 $widgetArea で参照できる
*/
if (Configure::read('BcRequest.isMaintenance')) {
return;
}
if (!empty($this->passedArgs['num'])) {
$url = array('plugin' => null, 'controller' => 'search_indices', 'action' => 'search', 'num' => $this->passedArgs['num']);
} else {
$url = array('plugin' => null, 'controller' => 'search_indices', 'action' => 'search');
}
/**
*$folders = $this->BcContents->getContentFolderList($this->request->params['Site']['id'], ['excludeId' *=> $this->BcContents->getSiteRootId($this->request->params['Site']['id'])]);
*/
$folders = $this->BcContents->getContentFolderList($this->request->params['Site']['id'], ['excludeId' => [12]]);
?>
<div class="widget widget-search-box widget-search-box-<?php echo $id ?>">
<h2>サイト内検索</h2>
<?php echo $this->BcForm->create('SearchIndex', ['type' => 'get', 'url' => $url]) ?>
<?php if($folders): ?>
<?php echo $this->BcForm->label('SearchIndex.f', 'カテゴリ') ?><br>
<?php echo $this->BcForm->input('SearchIndex.f', ['type' => 'select', 'options' => $folders, 'empty' => '指定しない', 'escape' => false]) ?><br>
<?php endif ?>
<?php echo $this->BcForm->input('SearchIndex.q', ['placeholder' => 'キーワード']) ?>
<?php echo $this->BcForm->hidden('SearchIndex.s', ['value' => $this->request->params['Site']['id']]) ?>
<?php echo $this->BcForm->submit('検索', array('div' => false, 'class' => 'submit_button')) ?>
<?php echo $this->BcForm->end() ?>
</div>
「いいね!」 1
ありがとうございます、再現できました。
修正方法について後ほどお知らせします。
「いいね!」 2
お待たせしました。baserCMSは同梱テーマも普通にPHPで書かれていて、
本体と同様に修正と改善が繰り返されているので、baserCMSをアップデート
する場合は実はテーマも更新する必要があります。方法は下記のとおりです。
thema/フォルダ内の bc_sample
フォルダを削除します。
いちおうバックアップはとっておいてください。問題が解決すれば削除してよいです。
lib/Baser/Config/theme/
上記フォルダ内に最新の bc_sample
テーマが入っていますので、これを
thema/ フォルダ内にコピーします。
念のために管理画面でキャッシュを削除します。
以上で解決できると思います。
「いいね!」 3
GUSSAN
2020 年 11 月 9 日午後 11:15
19
yamamotoさん、いつもご対応ありがとうございます!
PHPの対応処理をしていただいたとのことなのですが、具体的には、どのような処理なのでしょうか?
同環境を作成しても再現しなかったので、作成済みのデータ(記事)の内容に起因して起きたこととしかおもえないのですが。。。
簡単で結構ですので、起きている事情と、対応策(対応いただいた内容)をお教えいただけるとうれしいです。
あと、dbkaiyuさんの場合、使用されているbc_sampleのバージョンは、前バージョン?をベースにカスタマイズされたものですので、新規にアップデートして使用するものではないとおもわれるため、今回のアップデートに伴って必要なファイルのみ差し替える対応になるかと思います。
取り沙汰されていたsearch.phpのみの差し替えでよいのでしょうか?そのあたりも合わせてご教示ください。
以上、たいへんお手数ですがよろしくお願いいたします。
「いいね!」 1
search.phpに限って見ると、今まで上記のような改修が行われています。
上記のうち、今利用しているsearch.phpの改造元になっているのは
2016年11月14日(5d3fa15)の時点のファイルのようです。
$folders = $this->BcContents->getContentFolderList($this->request->params['Site']['id'], ['excludeId' => $this->BcContents->getSiteRootId($this->request->params['Site']['id'])]);
上記のように書かれている部分を
$folders = $this->BcContents->getContentFolderList($this->request->params['Site']['id'], ['excludeId' => [12]]);
上記のように書き換える改造を行なっているようです。つまり excludeId
の値を決め打ちで
12
としています。なので最新の search.php の該当部分を探して 12
に変更すると
okということになります。
たぶんこんな感じで、他のファイルも変わっているはずなので、うーん、どうするかですね・・
どこをどう書き換えたのかは、専門のプログラマーならすぐ分かるのですが。
時間があったら、対応作業を行なうための手順をqiitaあたりで書いてみます。
「いいね!」 1