2006年02月01日

Windows2000でCMS Designerのローカルテスト

やたら苦戦したので、メモ。

【前提】PHP4(4.3.0以上)をローカルで動かす設定は完了していること。

【環境】Windows2000 + An HTTPd + PHP4.3.1

【操作】
1)php.ini(C:\WINNTかC:\WINNT\system32あたりにあるはず)をエディタで開き、「Dynamic Extensions」と書かれたあたりを探す。
以下の行のコメントを外す(先頭の「;」を削除)。
;extension=php_domxml.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_xslt.dll

php.iniを上書き保存。

2)CMS Designer本体をダウンロードしてきて、ドキュメントルート下の適当なフォルダに解凍。

3)2で解凍したディレクトリ/cmsdesigner/include/xmlutil.php.incをエディタで開く。

4)87行目の
$result = xslt_process( $xslt, 'arg:/_xml', $xslFilePath, NULL, array( '/_xml' => $strXml ) );

を、
$result = xslt_process( $xslt, 'arg:/_xml', "file://$xslFilePath", NULL, array( '/_xml' => $strXml ) );

と書き換える。
※xsltパーサにローカルからアクセスする際にはファイルへのパスに「file://」をつけないと動かない……らしい。

5)ブラウザからtestcms.phpにアクセス。あとはマニュアルどおりに。

※このまま本番サーバにアップすると動かなくなるはずなので、アップ前に87行目を戻しておくこと。
私は下のように判別を作ってみた。これで動くような気がしなくもない。
if ($_SERVER["REMOTE_ADDR"] == '127.0.0.1') {
$result = xslt_process( $xslt, 'arg:/_xml', "file://$xslFilePath", NULL, array( '/_xml' => $strXml ) );
} else {
$result = xslt_process( $xslt, 'arg:/_xml', $xslFilePath, NULL, array( '/_xml' => $strXml ) );
}
posted by 文月夕 at 17:05| Comment(0) | TrackBack(0) | 注目サイト・ツール | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/12602079

この記事へのトラックバック

PR

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。