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のバージョンを選択できるので、ここで変更してもいいんだけど、少し調べてみた。
検索しろよってことですね。preg_replace の /e modifierが廃止予定だよってことですね。PHPはこういうことがあるから素敵なんだ。
ということで、上記のページのパッチを Smarty_Compiler.class.php に適用するか、Smarty2系の最新版に /mt/php/extlib/smarty/libs/ 以下を入れ替えるかで上記のエラーは出なくなります。
繰り返します。未サポートです。
繰り返します。
そのうちMTのパッチなりバージョンアップでサポートされる筈。
よろしく。