ブロックを編集後に「保存」をクリックするとエラーが表示され更新できない
ローカル環境である程度作成後に、サーバーへデプロイしました。
問題なく表示され、ログインもできました。
ページ内のブロックを編集し、「保存ボタン」クリックすると下記のようなエラーが表示され
更新が確定できなくなりました。
Call to a member function getColumns() on null
本来なら関数が受け取るべき情報が渡されないようなのですが・・・、どのような方法で解決すればよいかわからないでいます。
よろしくお願いいたします。
【開発環境】
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307
# Database Information
Version: 5.6.23-log
SQL Mode: NO_ENGINE_SUBSTITUTION
# concrete5 Packages
Honest Websites Back To Top (1.1.0), Spacer (0.9.4)
# concrete5 Overrides
None
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
cgi-fcgi
# PHP Version
7.4.12
Re: ブロックを編集後に「保存」をクリックするとエラーが表示され更新できない
リンク先の回答をヒントに調べたところ、サーバーにアップロードしたデータベースに「auto_increment」が抜けていることがわかりました。
アップロード前のsqlファイルには「auto_increment」が書かれています。
再度sqlファイルをアップロードしたところ、エラーが表示されました(きっと最初の時もでていたのですね・・・)
--------------
-- テーブルのインデックス `AreaPermissionAssignments`
--
ALTER TABLE `AreaPermissionAssignments` ADD PRIMARY KEY ( `cID` , `arHandle` , `pkID` , `paID` ) ,
ADD KEY `paID` ( `paID` ) ,
ADD KEY `pkID` ( `pkID` ) ;
MySQL のメッセージ: ドキュメント
#1071 - Specified key was too long; max key length is 767 bytes
----------
phpmyadminのインデックスサイズに文字数の制限があり、それにひっかかっているようでした・・・
Re: ブロックを編集後に「保存」をクリックするとエラーが表示され更新できない
http://www.youtube.com/watch?v=aDoR-AOtKAQ
39:45あたりを参照してみてください。
いろんな原因が考えられますが、
データベースのエクスポートとインポートのやり方に主な原因がある可能性が高いかと思われます。
もし可能であればローカル環境での再現を試みてください。
aniya
Re: ブロックを編集後に「保存」をクリックするとエラーが表示され更新できない
http://www.concrete5.org/community/forums/customizing_c5/add-block-error-call-to-a-member-function-getcolumns-on-null
http://www.concrete5.org/community/forums/installation/error-updating-blocks-after-moving-site-to-new-server