【環境情報】
・baserCMSのバージョン:4.8.1
・レンタルサーバー名:ローカル環境
・使用テーマ:専用テーマ?
・PHPスキル(自己評価): D
〇 自作Pluginではないので、カテゴリはここでいいか分かりませんが、エラー・デバッグ関係なのでこちらに投稿します。
〇 借りているサーバのPHPのバージョンが上がるとの事で、社内にテスト環境を構築してテストをおこなっています。
basercms4.8.1
PHP 7.4
表示は問題なくされたのですが、管理画面でコンテンツの更新をおこなうと以下のエラーが発生します。(デバッグモードにして表示させました)
エラー: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘Array’ in ‘field list’
SQL Query: UPDATE basercms
.mysite_optional_links
SET id
= 183, blog_content_id
= 1, status
= 0, name
= ‘’, blank
= ‘0’, nolink
= ‘0’, publish_begin
= NULL, publish_end
= NULL, file
= Array, blog_post_id
= 303, modified
= ‘2024-07-18 17:18:19’ WHERE basercms
.mysite_optional_links
.id
= ‘183’
Stack Trace
* [CORE\Baser\Model\Datasource\DboSource.php line 515](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [PDOStatement->execute(array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Model\Datasource\DboSource.php line 481](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [DboSource->_execute(string, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Datasource\Database\Mysql.php line 425](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [DboSource->execute(string)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Model.php line 1926](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Mysql->update(OptionalLink, string, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Model.php line 1760](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Model->_doSave(array, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Model\BcAppModel.php line 145](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Model->save(array, boolean, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [APP\Plugin\OptionalLink\Event\OptionalLinkModelEventListener.php line 164](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [BcAppModel->save(array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Event\CakeEventManager.php line 244](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [OptionalLinkModelEventListener->blogBlogPostAfterSave(CakeEvent)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Event\BcEventDispatcher.php line 68](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [CakeEventManager->dispatch(CakeEvent)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Model\BcAppModel.php line 1680](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [BcEventDispatcher::dispatch(string, BlogPost, array, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Event\BcModelEventDispatcher.php line 150](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [BcAppModel->dispatchEvent(string, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Event\CakeEventManager.php line 244](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [BcModelEventDispatcher->afterSave(CakeEvent)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Model.php line 1970](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [CakeEventManager->dispatch(CakeEvent)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Model.php line 1754](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Model->_doSave(array, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Model\BcAppModel.php line 145](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Model->save(array, array, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Model.php line 2515](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [BcAppModel->save(array, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Model\Model.php line 2287](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Model->saveAssociated(array, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Baser\Plugin\Blog\Controller\BlogPostsController.php line 420](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Model->saveAll(array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [[internal function]](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [BlogPostsController->admin_edit(string, string)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Controller\Controller.php line 499](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [ReflectionMethod->invokeArgs(BlogPostsController, array)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Routing\Dispatcher.php line 193](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Controller->invokeAction(CakeRequest)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [CORE\Cake\Routing\Dispatcher.php line 167](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Dispatcher->_invoke(BlogPostsController, CakeRequest)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
* [ROOT\index.php line 163](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#) → [Dispatcher->dispatch(CakeRequest, CakeResponse)](https://localhost/cmsadmin/blog/blog_posts/edit/1/303#)
ここかな?!と思う部分を展開してみたところ、変数fileにarrayを代入している所がありました。
array(
'bge-kind' => 'primary',
'bge-text' => '',
'bge-link' => '',
'bge-target' => '',
'bge-ckeditor' => '',
'bge-path' => '',
'bge-formated-size' => '0',
'bge-size' => '0',
'bge-name' => '',
'bge-download' => 'bge:checked',
'bge-embed-label' => '',
'bge-embed-code' => '',
'bge-caption' => '',
'bge-empty' => '',
'bge-delay' => '',
'bge-duration' => '',
'bge-lat' => '',
'bge-lng' => '',
'bge-zoom' => '',
'bge-url' => '',
'bge-search' => '',
'bge-alt' => '',
'bge-summary' => '',
'th' => '',
'td' => '',
'bge-title-h2' => '',
'bge-title-h3' => '',
'bge-id' => '',
'bge-thumb' => '',
'OptionalLink' => array(
'id' => '183',
'blog_content_id' => '1',
'status' => '0',
'name' => '',
'blank' => '0',
'nolink' => '0',
'publish_begin_date' => '',
'publish_begin_time' => '',
'publish_begin' => '',
'publish_end_date' => '',
'publish_end_time' => '',
'publish_end' => '',
'file' => array(
'name' => '',
'type' => '',
'tmp_name' => '',
'error' => (int) 4,
'size' => (int) 0
)
),
以下省略
これが悪さをしてSQLにfile=arrayと渡しているのかなと思っていますが、
basercms4.5.6、PHP 7.4の組み合わせではエラーが発生しなかった事もあり
どこをどう修正すればいいか困っております。
〇 basercmsのバージョンアップは、4.5.6から一気に4.8.1にしました。
(因みに本番環境はbasercms4.5.1ですが、4.5.6でlib全体が更新がかかっていたようなので、
いったん、4.5.6にしました)
〇 PHPはVSCodeでデバッグする環境を構築したのですが、ブレークポイントでとまらないので、
完全なデバッグができずに、こちらに質問させていただきました。
何かヒントになるような事があれば書き込みをお願いいたします。
これを解消してしばら本番稼働させたのち、(1年弱)
最終的には、basercms5、PHP8で本番環境を稼働させる予定です。
宜しくお願いいたします。