ブログを始めよう、と思い立ってンヶ月。私生活が何だかんだで文章を書く気になれなかったのもあるけど、ハッキリ言えばブログを設置するのが面倒くさかった。現に一度は挫折して放置したからこんなに遅くなってしまったのだ。数字と英字がいっぱい並んでいるのを見ると一瞬気絶したかのように意識が遠くなる病気が出るって前にも書いたけど。
なるべくソースを見たくないからDreamWeaverを使っているといっても過言ではないのに、MovableTypeはDreamWeaverでいじることはほぼ不可能なんである。ここから悪戦苦闘が始まった。
● データベースをMYSQLに
とりあえず150Mで年間10000円も取られるさくらウェブから、年間2400円で500MもらえるXREAに乗り換えた。ここはMYSQLも使えるしPHPも使える良鯖らしい。
しかし当然わたしには、なにがなんだかよくわからない。「新しいものが使えることはいいことだ」くらいしか理解できない。
付け焼き刃の知識では、MYSQLというのはサーバーのデータベースの種類らしい。通常はBerkeley DBというものを使っているそうだが、MYSQLの使えるサーバーだとCGIなどの実行が高速になるらしい。
まあ、そんなことはどうでもいいとして次。実際の設置にはMilano::Monologさんのこちらのページにお世話になった。
3.0β版の設置法なのでわたしが設置したのとバージョンが違うが、ここの解説が一番わかりやすかった。Berkeley DB→MYSQLにデータベースを変えるにはどこをカスタマイズすればいいのかが詳細に書かれている。
XREAユーザーならばこちらのサイトも見ておいた方がいいと思う。しかし、ここの説明を読んで手動でインストしてみた時、mt-load.cgi実行時に
「Connection error: Can't connect to local MySQL server through socket '/tmp/mysql.sock '」
こんなエラーが出た。
よくよく調べてみると、mt.cgfのMySQL設定のところで、「DBSocket /tmp/mysql.sock」のあとに空白が入っていた。上記のサイトで書き換え例をコピ−した時に文末の空白まで一緒にコピペしてしまったわけ。何度も見直してやっと気がついたよ・・・。
こんなミスをするのはわたしくらいなもんだろうけども、うまく行かない時は記述やタグが正確かどうかをもう一度チェックしましょう。
● PHPを使いたい
一番手こずったのはMYSQLではなくテキストのPHP化の方だった。サイトの拡張子がindex.htmlではなくindex.phpとなるようにページを作った方が処理が高速だというのでそうすると決めたわけ。コレも他人様からの受け売りである。
「htmlで書いておいて慣れてからphpにすればいいのに」などと言われそうだがそんなのやだ。はじめにいじれるだけいじりまくってあとは放置。あとで放置するために今がんばるのだ。
さて。HTML→PHP化のやりかたを説明しているページでは口をそろえて「Main indexとMaster Archive Indexのテンプレートの拡張子を書き換えるだけでOK」と書いている(Zakimi::Blog)。
しかしそれだけではindex.phpにアクセスした時、
「Parse error: parse error, unexpected T_STRING in [〜] on line 1」
というエラーが出てしまうのだ。コレは一体どういうことだ。
XREAでは、管理モードから「データベース→PhpMyAdmin」のページに入れるようになっている。そこでLanguage(文字コード)の設定を変えてみるが解決されず。せっかく作成したデータベースを初期化して再インストしたり、phpMyAdmin実行ページでテーブルを削除したりもしてみる。
なにをやっても「Parse error」である。
わけがわからないままの手探り状態なので、ちょっとでもエラーが出ると、もう対処法がわからない。
半泣きになりながらいろいろ調べた結果、これはサーバーの問題であることが判明した。わたしが借りているここXREAに固有の現象らしい。ググってみると同じ問題で引っかかってしまった先人が解決法を書いてくれているではないか。まったくありがたいことです。
Chitatopops
MT管理画面→テンプレートの編集→main.indexのテンプレを開いて、xml versionがどうのこうのと書いてある所を探しだし、次のように書き換える。(だいたい上の方に書いてある)
<?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>" ?>'."\n" ?>
デフォルトのテンプレではxml version=〜そのものが記述されていないので、テンプレの最初の方にまるまんまコピペすればOKらしい。
ただし位置は、
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
という記述を見つけてその後に来るように書かなければならない。らしい。なんでそうなのかは別の日に述べる。
この通りMain Indexのテンプレを書き直してみたらちゃんと表示された。やたー! 足かけ何時間費やしたんだか・・・。(XREAユーザーの人がPHPにする時は覚えておこう。もちろんhtmlをそのまま使うならなにも問題はない。)
もう、このあたりでかなり嫌になってきた。そもそも根気がないのである。
しかし問題が1つ残っている。再構築のあとで「サイトの確認」ボタンを押すと、それまでメインページだった「index.html」の方が表示されてしまうのだ。phpに変えたのだから、「index.php」がメインにならんとおかしい。これではわざわざURLを手入力してphpファイルの方にアクセスしなければならんではないか。どーしてよ?
しかしこれもFTPソフトで元のindex.htmlを削除してみたら、あっさりindex.phpにアクセス可能になった。どうやらhtmlが残っているとそちらが優先されて勝手にトップページになってしまうらしい。何の知識もないわたしのような初心者はこういうところからしてつまづくんだよね。ハァ。
だがこんな所でぐったりしているヒマはない。リビルド地獄はまだまだ続くのであった。
blogランキング参加中初めまして。
私も「Parse error: parse error, unexpected T_STRING ・・・」 で躓き、色々とググっていたところこちらにたどり着きました。
Chitatopops というサイトはもう存在しない(?)ようですが、お陰様で助かりました。ありがとうございました。
何かオマジナイがいるだろうことは想像していたんですが、PHPは私も良く知らなかったので・・
取り急ぎ、お礼まで。
このエントリーのトラックバックURL: