PHP化とモジュール化でサクサク!Vol.1

前のエントリー ブログの引越しでデータベースをMySQLにすることは済ませましたので次は「PHP化+モジュール化」です。

モジュール化とは・・・各パーツ(カレンダーや最近のエントリーやカテゴリー等)をモジュールにしてはめ込む。

PHP化とは・・・モジュールをはめ込む際には「include」を使うためにPHP化する必要がある。。ssiでも出来る??


さてまずここで、「何故、Movable Type が重いのか?」を考えてみる。
それは使い勝手やSEO対策に個別エントリーのページなどにもサイドメニューを追加したからです。そのため再構築時には同じサイドメニューを何度も何度も再構築することになりタイムロスが生じます。

モジュール化はそういった部分を部品化してしまって1個~数個作り、後はページの表示の際にはめ込んでしまおうというものです。(もちろんはめ込み時に多少負荷がかかりますが。)

で、やろうと思っていた「PHP化とモジュール化」に手をつけました。
参考にしたのは「Movable Type を軽くしたい!!」で控えておいたエントリーです。
まずPHP化から手をつけました。。しかぁ~しこのPHP化が一筋縄ではいきませんでした。
それは、普通はMTの出力拡張子を「.php」にすればいいわけですが単純に拡張子「.php」でやると既にキャッシュされている「.html」のものの対策を考えないといけません。
そこで「.htmlの拡張子でもPHPを動かす」ことにしました。。これが大変でした。

普通に「.htaccess」に

AddHandler myphp-script .html

といった類の記述をすれば終わりかと思っていましたがさくらのレンタルサーバはそう簡単に終わらせてくれません。

.php以外の拡張子でphpを動かしたい in さくら

こちらを参考に。。なんて書いていますが、最初はさっぱり訳分かりませんでした。
「php.cgi」というファイルを作って「/usr/local/bin/php」と記述しておけばいいのかと。。(爆
違いました。。

さくら公式マニュアル ─ TELNETで接続する

またまたこちらを参考にしながら自分の契約サーバに接続します!!おぉーー!なんかすごいことになってきた。
少し久しぶり目にDOSコマンド打ち込んでます。。まぁたいしたコマンドは。。なんせ「cd」と「cp」ですから。

cd /usr/local/bin
cp php /home/—/www/cgi-bin

こんな感じで「/usr/local/bin」の「php」を自分のHPのフォルダにコピーします。。(FTPでは出来んのじゃないかなぁ?)
その「php」を「php.cgi」等にしてアクセス権変更してやればいいわけです。
あとは、非公式FAQのを参考にしながら「.htaccess」に記述してやれば拡張子「.html」でPHPが動くようになります。

xml の場合最初に一行目に宣言文がありますがこれを下記のように修正しておかないと「一行目エラーでっせ!」となる。

【修正前】
<?xml version=”1.0″ encoding=”<$MTPublishCharset$>”?>

【修正後】
<?php echo ‘<?xml version=”1.0″ encoding=”<$MTPublishCharset$>”?>’.”\n” ?>

こんな感じです。「一行目エラーでっせ!」はちなみに

Parse error: parse error, unexpected T_STRING in …/index.php on line 1

こんな感じ。。あとさくらの場合PHP実行できるフォルダやファイルのパーミッションが決まっているのでそれに合わせてMT側で出力ファイルのパーミッション変更してやる必要も出てくる場合がある。
まぁ、このPHP化ができたらあとのモジュール化は超簡単でした。。Vol.2へ続く

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク

コメント

  1. MT3.2-ja-2に移行するのは。。

    【重要】MT3.2-ja-2の再構築エラーの対処法 – ブログニュースさん トラ…

Highslide for Wordpress Plugin