アルファサード株式会社 代表取締役 野田 純生のブログ


PHP5.5でMTのダイナミックパブリッシングを動かす


公開日 : 2014-07-02 14:01:36


未サポートです。すいません。こう書いとかないとサポートチームに怒られるし(><。 そのうちMTのパッチなりバージョンアップでサポートされる筈かと。多分。知らん間にPHPがオプション機能扱いになってるけど(あんまり嬉しくないってか、むしろ気に入らないのだが)

ダイナミック コンテンツの生成など、Movable Type のオプション機能を利用したい場合は こちら もご参照下さい。

リンクテキストが「こちら」になっているのは、アクセシビリティ的に宜しくないということを覚えておいてね。

さて、こちらのページ (Movable Type のオプション機能を利用するための環境) には、このような記述があります。

既知の問題があります。 PHP5.3x PHP5.4x 以外のバージョンでは、ダイナミックパブリッシングが利用できません。

先日、ローカルデモ環境のMySQLが壊れて、MAMPを最新版にしたらPHPが5.5になっててエラーが出たのです。焦りました。エラーの内容は、以下。

Deprecated:preg_replace():The/e modifier is deprecated,
use preg_replace_callback instead in
/var/www/cgi-bin/mt/php/extlib/smarty/libs/Smarty_Compiler.class.php on line 270

MAMPの場合は設定でPHPのバージョンを選択できるので、ここで変更してもいいんだけど、少し調べてみた。

MAMPの設定画面

検索しろよってことですね。preg_replace の /e modifierが廃止予定だよってことですね。PHPはこういうことがあるから素敵なんだ。

ということで、上記のページのパッチを Smarty_Compiler.class.php に適用するか、Smarty2系の最新版に /mt/php/extlib/smarty/libs/ 以下を入れ替えるかで上記のエラーは出なくなります。

繰り返します。未サポートです。

繰り返します。

そのうちMTのパッチなりバージョンアップでサポートされる筈。

よろしく。



このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ