(追記:もうちょっと調べてみると、これと似たような問題は、4月頃から各所で報告されている模様。ここ とか ここ とか。特に、最初の記事のコメント欄で不具合が報告されているのが PHP 4.4.6 上、ロリポップ!も最近 4.4.6 にアップグレード。これが犯人か?)
昨日(もしかしてもっと前から?)当サイトにお越し下さった方、失礼しました。
最近、別段サイトの設定を大きく変えた覚えはないので、何がきっかけなのか、まったく分からないのですが、昨日、たまたま自分のサイトを見たら、Textile で書いた記事のところから、ページがちょん切れている ことに気付きました。
「Textile で書いた記事」と言ったのは、最近ひそかに(ようやく) Markdown Extra に移行したからなのですが、その Textile・Markdown 混在ページを、WordPress プラグイン「 Text Control 」で実現していて、最近まではうまくいっていたのですが、ここにきていきなり、不具合発生。
text-control.php
をいじって、Textile (2) で変換を行わないようにすると、ページが最後まで出力されるようになるので、Text Control に同伴されている textile2.php
から処理が返ってきていない模様。確かに Text Contorol の ウェブサイト には、「Textile 2 はサーバーに負担がかかるので、Textile 2 を使わなくて済む場面なら、そうすることを勧める」と書いてあったことをすっかり忘れていましたが、本当に不具合が起きるとは…
そこで、かなりのトライ&エラーを繰り返したあげく、本家 Textpattern の Textile 2 を突っ込む(本家の PHP スクリプトが配布されているのを今まで知らなかった。だって探しにくいんだもの)、という方法で解決しました。
- ここ から、(本家)Textile 2 をダウンロード
- ファイル名を
classTextile.php
からtextile2.php
に変更 text-control
ディレクトリにアップロードtext-control.php
の 52 行目を、$text = $t->process($text);
から$text = $t->TextileThis($text);
に変更。
Text Control に同伴されている textile2.php
が 148 KB もあるのに対し(ちなみにノーマル Markdown は 32 KB)、本家 Textile 2 は 40 KB と圧倒的に軽く、ちゃんとページ全体が読み込まれるようになりました。しかし、僕がこれまで使っていた Textile(MT-Textile 系)は、少し拡張されたものだったらしく、定義リストなどの表示が飛んでしまいましたが、そこはご了承願います(僕自身としては、まあいいか、と。もっとうまい解決策は、別の機会に探します)。
そもそも、アップデートが止まっている Text Control プラグインを使っているのがアレなんですけどね(汗)