トップページへ

Movable Typeのダイナミックパブリッシングで「An error occurs.」になる場合の対処

小粋空間 » Movable Type » ダイナミックパブリッシング » Movable Typeのダイナミックパブリッシングで「An error occurs.」になる場合の対処

Movable Typeのダイナミックパブリッシングで「An error occurs.」になる場合の対処について紹介します。

1.問題点

Movable Typeにダイナミックパブリッシングを設定してページを開いたところ、「An error occurs.」というエラーが発生しました。

なお、下記は設定済です。

PHP の設定ファイル(php.ini)内にタイムゾーンの設定を記述し、ウェブサーバーを再起動

date.timezone = Asia/Tokyo

参考:Q.ダイナミックパブリッシングでエラー「ページが見つかりません。 An error occurs.」

httpd.conf に以下の記述を追加して再起動

<Directory /usr/local/apache/htdocs/mt>
  AllowOverride All
</Directory>

参考:ダイナミックパブリッシング

2.対処

より詳細なエラーを取得するために、mt-config.cgiに

DebugMode 1

を設定してページにアクセスしたところ、「Deprecated: Function create_function() is deprecated」が表示されました。

調べたところ、PHP7.2以降でcreate_function()を実行すると、このエラーに遭遇するようです。

検証していたMovable Typeのバージョンは6.3.7で、php/extlibやphp/lib配下のPHPでcreate_function()が多数起動していました。

対処としてはMovable Typeを6.5.x以降にバージョンアップすることですが、create_function()のコードを書き換える方法もあるようです。

参考:PHP 7.2 で発生する「 Function create_function() is deprecated」エラーに対処する

3.その他

ダイナミックパブリッシングを簡単に動作確認するには、インデックステンプレートを作成し、中に

<MTDate>

の1行を書いて、ダイナミッパブリッシングで保存し、ページを開いたときに、

2021年8月 1日 16:25

という風に表示されればOKです。

« 前の記事へ

次の記事へ »

トップページへ