« 並木橋通りアオバ自転車店(15) | トップページ | 食べちゃうぞ!!!!! »

Fedora4でMovableTypeダイナミックパブリッシング使用はちと大変

MovableTypeのダイナミックパブリッシングを使用しようと思ったところ上手くいかなかったのでprint()関数を駆使して原因を調査しました。

どこかのプログラマーが言ってました、printf があればデバックはできる
同感です。今回も解決できたのでますます同感です

さて、まず何が上手くいかないかと言うと、
MovableTypeでダイナミックパブリッシングを行う設定にしてページを表示しようとすると画面が真っ白になってしまいます。

ダイナミックパブリッシングとは、記事ページをhtmlとして前もって作成するのでは無く、ページにアクセスが来たときにPHPによりページを作成すると言うものです。
そこで最初にアクセスされる mtview.php を調べてみました。

▼mtview.php
6行しか無い簡単なコードなので全行に print( 'かもすぞ0' ); などと出力を追加してみました。
すると4行目の

$mt->view();

でコケてるようでした。
そこで mt.php に定義されてる MT::view() メソッドに print(); を打ちに進みます

▼mt.php
mt.php と同様に進めていくとここで止まっている事がわかりました。

$this->db = new $mtdbclass($this->config['DBUser'],

$mtdbclass を print(); で出力してみると MTDatabase_mysql だったので grep してクラスを探すと次は mtdb_mysql.php でした。
またまた進みます。

▼mtdb_mysql.php
MTDatabaseBase を継承してるだけのクラスでした、、、なので grep して次は mtdb_base.php へ進みます

▼mtdb_base.php
ここでコケてました

$this->db($dbuser, $dbpassword, $dbname, $dbhost);

MTDatabaseBase クラスに db() メンバ関数は無いため親の ezsql クラスに進みます。
ezsql_mysql.php です。

▼ezsql_mysql.php
ここでコケてます。

$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);

これはMySQLサーバに接続する為の関数らしいです。
でも各パラメーターを print() で表示してみたところ全く問題ありませんでした。

さて、どうしたものか、、、、
そこで次は google「MovableType ダイナミックパブリッシング」 で調べてみると PHP5+MySQL での問題が分かりました。

▼解決
PHP5はデフォルトでMySQLが使用できないそうです。
そこでMySQL用のパッケージをインストールしなければいけません。
Fedora4のCDより

php-mysql-5.0.1-10.i386.rpm

をインストールしたところMovableTypeダイナミックパブリッシングが正常動作!

おつかれさまでしたオレ

|

« 並木橋通りアオバ自転車店(15) | トップページ | 食べちゃうぞ!!!!! »

コメント

Hi :D
Buy ALPRAZOLAM ?

投稿: ALPRAZOLAM | 2006年4月 4日 (火) 21時24分

What other drugs will affect phentermine?
You cannot take phentermine if you have taken a monoamine oxidase inhibitor (MAOI) such as isocarboxazid (Marplan), tranylcypromine (Parnate), or phenelzine (Nardil) in the last 14 days.
Changes in insulin and other diabetes drug therapies may be necessary during treatment with phentermine.
Phentermine may reduce the effects of guanethidine (Ismelin). This could lead to an increase in blood pressure. Tell your doctor if you are taking guanethidine.
Before taking this medication, tell your doctor if you are taking a tricyclic antidepressant such as amitriptyline (Elavil), amoxapine (Asendin), doxepin (Sinequan), nortriptyline (Pamelor), imipramine (Tofranil), clomipramine (Anafranil), protriptyline (Vivactil), or desipramine (Norpramin). These drugs may decrease the effects of phentermine.
Drugs other than those listed here may also interact with phentermine. Talk to your doctor and pharmacist before taking any prescription or over-the-counter medicines

投稿: PHENTERMINE | 2006年4月 5日 (水) 14時57分

What is Tramadol?

Tramadol is used to relieve moderate to moderately severe pain. It may be used to treat pain caused by surgery and chronic conditions such as cancer or joint pain. Tramadol is in a class of medications called opiate (narcotic) analgesics. It works by decreasing the body\'s sense of pain.

Tramadol is available through several online pharmacies.

投稿: tramadol | 2006年4月 6日 (木) 18時25分

WorldSex Daily Updated Free Links to Hardcore Sex Pictures, Movies, Free Porn Videos and XXX Live Sex Cams

投稿: SEXMENS | 2006年4月 7日 (金) 18時38分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/86219/1393922

この記事へのトラックバック一覧です: Fedora4でMovableTypeダイナミックパブリッシング使用はちと大変:

» Ranitidine [Ranitidine online]
Ranitidine, ranitidine online. [続きを読む]

受信: 2006年10月 6日 (金) 20時14分

« 並木橋通りアオバ自転車店(15) | トップページ | 食べちゃうぞ!!!!! »