2019/10/15 15:12 JST

Geeklog Japan Forums

静的ページプラグイン インストールでエラーになったら


状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5931
場所:Tokyo
静的ページプラグイン インストールでstructured_data_typeが無いなどというエラーになったら、以下のSQLを1行ずつ、phpMyAdminで実行してください。
PHP Formatted Code
ALTER TABLE `gl_staticpage` ADD `structured_data_type` tinyint(4) NOT NULL DEFAULT 0 AFTER `commentcode`
ALTER TABLE `gl_staticpage` ADD `sp_prev` VARCHAR(128) NOT NULL DEFAULT '' AFTER `postmode`
ALTER TABLE `gl_staticpage` ADD `sp_next` VARCHAR(128) NOT NULL DEFAULT '' AFTER `sp_prev`
ALTER TABLE `gl_staticpage` ADD `sp_parent` VARCHAR(128) NOT NULL DEFAULT '' AFTER `sp_next`
 

状態: オフライン

OMAL

Forum User
Active Member
登録日: 02/14/18
投稿数: 56
丁度質問しようとしていたトピックなので便乗させてください。
gl1.4からgl2.2へ上げるインストールをしたのですが、staticpageプラグインが不具合となっています。
テストでやったときは問題なかったところだと思うのですが。
テストの時は、ローカルテストサーバーで、本家gl2.2を使用、GLインストール前後でstaticpageプラグインは有効のまま残しておいた、という状況だったと思います。

今回は、ivye版で、本番サーバー、
GLインストール前にstaticpageプラグインを無効にしてからGLアップグレード処理をしました。その後、以前から使用中のテーマのトップページが無事表示されてエラーもはいていないのを確認後、まず、インストールで自動で有効になってしまっていたが要らないpollプラグインをオフにしました。問題なくオフになりました。次にstaticpageプラグインを有効にしようとしたらエラーになりました。
Unknown column 'modified' in 'field list' in pathto/plugins/staticpages/functions.inc:2344. SQL in question: SELECT sp_id,UNIX_TIMESTAMP(modified) AS unixdate FROM gl_staticpage WHERE (draft_flag = 0) AND (template_flag = 0) AND (perm_anon >= 2)

Unknown column 'sp.draft_flag' in 'where clause' in pathto/plugins/staticpages/functions.inc:135. SQL in question: SELECT sp.sp_id, sp.sp_label
FROM gl_staticpage sp, gl_topic_assignments ta
WHERE (sp.sp_onmenu = 1) AND (sp.draft_flag = 0) AND (sp.template_flag = 0)
AND ta.type = 'staticpages' AND ta.id = sp_id AND (ta.tid = 'all'Wink

Unknown column 'sp_onhits' in 'field list' in pathto/plugins/staticpages/functions.inc:1120. SQL in question: SELECT sp_id,sp_title,sp_content,sp_onhits,sp_onlastupdate,sp_format,created,modified,sp_hits,owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon,sp_php,sp_inblock,sp_help
FROM gl_staticpage, gl_topic_assignments ta
WHERE (sp_centerblock = 1) AND (draft_flag = 0) AND (template_flag = 0)
AND ta.type = 'staticpages' AND ta.id = sp_id
AND (sp_where = 0) AND ((ta.tid = 'homeonly'Wink OR (ta.tid = 'all'Wink) AND (((owner_id = '673'Wink AND (perm_owner >= 2)) OR ((group_id IN (2,4,58,41,52,53,54,44,40,55,11,59,56,60,13,12,46,50,34,24,10,61,33,62,1,39,63,14,3,26,57,6,27,45,9,51,43,64,21,23,42)) AND (perm_group >= 2)) OR (perm_members >= 2)) ORDER BY sp_id

2つ目、3つ目のエラーは再度プラグインを有効にしようとした時やその後トップページを表示してみようとした時に追加されたエラーの可能性もあります。1つ目は確実に初回失敗時のエラーです。
です。この状態でstaticpageプラグインのデータベースを見てみると、GLver.1.4の時のフィールド構造のままです。多分、プラグインアップグレードに失敗したからフィールドが更新されていないのではとも思います。

というわけで、staticpageプラグインがアップグレードされてないので直したいのですが、どういう手順でやればよろしいでしょうか?行は50件ほどあります。

状態: オフライン

OMAL

Forum User
Active Member
登録日: 02/14/18
投稿数: 56
何度かGLを再アップグレードし直したら、静的ページプラグインの自動アップグレードも完了するようになり、問題解決しました。
GLアップグレードインストールボタンを押した後に、すんなり完了ページが表示されずに何がしかのエラーが先に出ると、いろいろ問題が起こるようです。エラーが出た後にインストーラーを再度起動するとインストールは完了していますというようなメッセージが出る場合が多いのですが、実際はコアプラグインがアップグレード失敗していたりテーブルが一部書き換わっていなかったりと問題あるようです。
なので、GLアップグレードインストールボタンを押した後に、すんなり完了ページが表示される状態に持っていくことが先決です。

私のサイトの環境の場合、lib-syndication.phpの修正が必要でした。
本家サイトにも以前報告を上げましたが、
I found a bug in system/lib-syndication.php line245:
I think you should modify
$tid_list = TOPIC_getChildList($tid, 1);
to
$tid_list = TOPIC_getChildList($tid, 1);
if (empty($tid_list)) {
$tid_list = "'" . DB_escapeString($topic) . "'";
}
if don't, it causes issue during or just after installation. I had that issue.

です。
また、ログイン作業関係に万全を期すために、以前ivyさんから返信があったlib-security.phpのtokenの修正も同時にインストール前にかけておきました。
私の場合はこの2点がポイントでした。あと、当然プラグインは全て外して副作用が出ないようにしておきます。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5931
場所:Tokyo
OMALさん、どうもありがとうございます!

アップグレードは以下の順で行なっていきます。

Geeklog本体アップグレード
プラグインアップグレード

エラーの発生は大抵プラグインのアップグレードで起こっています。
プラグインの様々なアップグレード作業の途中でエラーになると、中途半端にアップグレードされていることになりますから、
かなり厄介なことになるため、SQLをまた戻して、プラグインをすべて無効にして( gl_plugins で1を0に )
そうして本体だけにしてアップグレードすることです。

そうやって慎重にプラグインを有効にしていってください。

エラーが出たら、どのプラグインでエラーになるかわかるので対応しやすいと思います。

時刻はすべて JST , 現在の時刻は 03:12 PM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック