MovableTypeの最近の記事

自鯖の Ubuntu を 16.04 にした。そろそろ次のLTSが出るってのに、いまさらw。ってのが、大晦日だったような。

で、アップグレードしたはいいけど、あちこち動かなくなっていた(このブログとか)のをようやく動くようにした話。

PHP が 7.0 にアップグレードされて、設定ファイルが新しいパスに作られて、旧設定が引き継がれなかったせいで、日本語ワカリマセーン状態だったので、mbstring 系を再設定。

まだ、Movable Type が動かないのでログを見ると mysql_connect がないとのエラー出力。ググると、mysql_connect は php 7.0 から削除されたらしい。mysqli とか新しいモジュール使えということらしい。インストールは勝手にされているようだが。(´・ω・`)

しょうがないのでソース(/[movable type のルート]/php/lib/mtdb.mysql.php に発見)をのぞいたら、pdo_mysql 有効になっている(/etc/php/7.0/apache2/conf.d/20-pdo_mysql.ini にシンボリックリンクが存在する)と pdo_mysql を、次にmysqli、それ以外ならmysql使うというif 文になっていたので、こいつをどかして(/etc/php/7.0/mods-available/ リンク元ファイルがあるとこに移動)、mysqli を使うようにする。動いた。以上。

まぁ、https://www.movabletype.jp/documentation/mt6/installation/system-option.html の下の方にある、ダイナミックパブリッシング(オプション)を使う場合ですけどね。

なんか、テンプレートがデフォルトになってしまったけど、記事が読めるようになったのでひとまず良しとする。続きはまたいつの日にか。

MT4.25からアップグレードしたら、本家のMTPagerBlockを使ったページ分割(ページング)ができなくなった。

ページ分割を行なっていたのは、全件表示(メインページ)、カテゴリ表示、月別表示のテンプレート。

このままでは、過去の記事をつらつらと読んでいくときに、ものすごく不都合orz

なので、やけくそモードでデバッグしてみましたよ。

★以下、MT5のソースファイルを修正します。
★動作確認はメインページ、カテゴリ別、月別のテンプレートを使っているページのみです。
★他のページで不具合が出る可能性もありますが、そこは今は無視w
★修正は自己責任でどうぞ。当然、クレームは受け付けません。
★言うまでもありませんが一応。
 

  • 修正ファイル
    • [MT5インストールフォルダ]/php/lib/mtdb.base.php
  • 修正点
    • 608行目 public function fetch_entries($args, $total_count = NULL) 第二引数の $total_count を &$total_count に変更して、参照渡しにする。※これは間違いなくMT5のバグ。
    • 1020行目 if文をコメントアウト、1024行目 if文の対応する括弧「}」をコメントアウト


以上の修正により、俺的にはOKになったよん♪

このアーカイブについて

このページには、過去に書かれた記事のうちMovableTypeカテゴリに属しているものが含まれています。

前のカテゴリはJavaScriptです。

次のカテゴリはPHPです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。