Posts Tagged ‘雑記’

WPMU覚書1

木曜日, 7 月 16th, 2009

さて今回から数回のシリーズで、私が知る限りの知識範囲ではあるが、WordPressMUの構造と動作について書いて行きたいと思う。
今回は概要と、データベース構造くらいで。まぁ9割方自分用覚書ですが。

    目次
  1. でWordPressMUって何よ
  2. 概要
  3. データベース構成

でWordPressMUって何よ

まずはここから(しつこいね)。
まぁ公式(系)を見ましょうか。
WordPress MU、WordPressµ とは、ブログアプリケーション WordPress の複数ユーザ版(multi-user version)です。
ほうほう。つまりWordPressを複数ユーザ対応にしたものなのね。でWordPressは?
WordPress (ワードプレス) は、オープンソースのブログ/CMS プラットフォームです。
CMSはContent Management Systemだから、まとめると、複数ユーザで使う、ブログ/Webコンテンツを作成&管理するための土台のアプリケーションと言った所?プラットフォームって日本語にし難いですねぇ。
とにかく、今現在の見聞伝はこのシステムを利用しています。
便宜的に私が”本家”と呼んでいる部分ではCMSとして、他の個人ブログ(このブログとか)ではブログプラットフォームアプリケーションとして、ですね。
うーん英語をカタカナで表現すると、やたら長くなるよなー。Blog Platform Applicationだもんなー。
戯言は置いといて、次行きましょうか。
WordPressの何がいいのかと言えば、Webページの作成や編集がお手軽にできる(一応強調しておきますが、これでもかなりお手軽ですよ!)ので、グループでやる時にページ作成の負担を分担できる、というのが見聞伝で採用している理由、だと思います。
と言う訳で、皆さんがんがん記事を作って下さい(お前もな)。
あとは開発者(特にサードパーティ)が非常に多いので、様々な機能がプラグインの形で公開されており、それを利用できる、と言うのも大きな魅力でした。
とはいえ、大抵のプラグインはMUではなくて、ただのWordPress向けに作られて居るので、そのままでは動かないこともしばしばですが、それでも0から作るのに比べれば、遥かに省力です。
あとは基本的に内容とデザインが分離されているため、デザインの改造がやり易いとか、サイト全体的なデザイン設計/更新が簡単だ、と言ったことが上げられるでしょうか。
このサイト全体のデザイン設計をWordPressテーマと呼んでいる訳ですね。
そうそう、大事なことを忘れていましたが、WordPressはGPLです。改変や再配布も自由なライセンスです。そしてタダ!うーん素晴らしい。
(GPLは必ずしもタダであることは意味しません…ほとんどの場合はそうですが。)

概要

さてそんなWordPressMUですが、

  • Apache:Webサーバ
  • MySQL:RDBMS
  • PHP:CGI
が動作する環境が必要です。
これらのソフトのバージョンですが基本的には新しい方がいいです。しかしWPMUのバージョンによってこまごまと違う様なので、お気をつけ下さい(だれが?)。
ものすごーくおおざっぱに言うと、WordPressMUは、HTTPリクエストを受けると、
  1. Apacheのmod_rewriteの機能を利用して、あるディレクトリ以下へのアクセスを、全てwp-content/index.phpに集める
  2. 当初のリクエストURIから、どのブログにアクセスしているか判定
  3. 当初のURI(パーマリンク)をブログ毎に設定されたrewrite_rulesに基づいてクエリ形式(?year=2009&month=5&day=13&name=…とかそんなの)に変換
  4. クエリに基づいて、SQL文を生成し、データベースから表示する情報を取り出す(複数の投稿やページの時もある)
  5. 取り出して来た情報を、整形をして表示
と言うことをやっているらしい。細かい所把握してないことも多いけど、どうもこんな感じみたいですハイ。
今後も出てくると思うので、ここでWordPressで使う用語についてちょっと書いて置きます。
極めて誤解を招き易いことに、WordPressではややこしい用語を使います。言わばWordPress用語ですね。
投稿(Post)
WordPressで使われる、最も一般的な記事の形式。主に時事性があること-時とともに価値を減ずる様な情報とか-を記述することを意図している。メインページに表示される。
ページ(Page)
WordPressでは、通常の意味とは異なり静的な情報を保持しておくための記事の形式。階層性を持たせることも出来る。
テーマ(Theme)
サイト全体のデザインを決定するもの。各投稿やページのデータはデータベースに保持されているので、それをWebページとして表示するために使われる。
カテゴリ(Category)
記事などが所属するグループ。階層性を持たせられる。二重に所属することも可能。
タグ(Tag)
記事などに付けるキーワード。カテゴリと異なり、階層性を持たせることは出来ない。幾らでも付けられるのはカテゴリと同じ。
なんか記述がちぐはぐですが、まぁこんな所でご勘弁を。

データベース構成

WPMUのデータベース構成ですが、基本的には以下の様になっています。

  • 以下のテーブルはブログ毎に存在
    • comments::コメントを保存
    • links::リンクを保存?よく見てない
    • options::ブログの設定情報を保存している。超重要
    • postmeta::投稿のメタデータ
    • posts::投稿そのもの。実際はページも投稿も添付ファイルの情報も一緒にここに保存されている。
    • terms::タグやカテゴリーに使われた単語を保持してIDを振っている
    • term_relationships::termsに保存された単語が、どの投稿やページと関連を持っているかを保持している
    • term_taxonomy::termsに保存された単語を分類する、分類法を保持している。categoryなのか、tagなのか、とか。
  • 以下のテーブルはサイト全体で一つ
    • users::サイトに登録されたユーザの情報を保持しているテーブル
    • usermeta::ユーザの権限や、ブログではなくユーザに属する設定情報が保持されている
    • site::ドメインが保持されている。用途がいまいち分からない
    • sitemeta::サイト全体の設定。アップロード可能なファイルタイプとか、最大アップロード容量とか、利用可能テーマとか、過去のrss?とかを保持しているようだ
    • blogs::サイトにどんなブログがあるかを保持している
    • signups::良く分からない。使われていない?
    • registration_log::ユーザが承認されたことが記録されている
    • blog_versions::良く分からない。使われていない?
    • sitecategories::サイト全体で使ったtermが保持されている。実際にはcategoryに分類されないものも全部入っているので、この名前はどうかと
あ、あと前にも紹介しましたが、WordPressのデータベース構成はここを参照しましょう。なにしろコードの99%同じと言うだけあって、ほとんど同じです。
WPのデータの保存の仕方は、user friendlyというか、administrator friendlyと言うか、かなり「そのまま」です。フィールド名やキー名は見れば大体意味が分かりますし、保持されているデータも、人間の可読性を意識したものがほとんどです。
ちょこちょことデータベースから直接データをいじることを想定してあるんでしょうか。
まぁコーディングし易いってのが一番の理由ですよね…。

今回はこんな所で。既に十二分に長いし。次回からはリクエスト処理-というか呼び出し関係-を順番に辿って行きましょうか。自分のためにもなりそうだし。

ぐれっぷ

木曜日, 7 月 9th, 2009

今回は私が普段使っているユーティリティの紹介です。コーディングネタか微妙な所だ。
言わずもがなですが、全てフリーソフトです。
多少の手間をかければフリーソフトで大抵のことが出来る、いい世の中ですねー。

  1. grep
  2. csconv
  3. サクラエディタ
  4. Inkscape

grep grepは便利ですよー。GoogleDesktopより便利です。
GoogleDesktopもインストールしてますけどね。
ただGoogleDesktopが検索対象にしているファイルは、 拡張子がdocやxlsやpdfやtxtと言った、一般的なものに限られています。 中身がプレーンテキストでもphpとかrbとか、とにかく一般的でない拡張子をつけてしまうと、 検索してくれないんですよね。
うーん不便。
なので、私はgrepを使っていますー。
でも何故か、-rオプションが、Macに同梱されているgrepでも、 Winに気付いたら入っていたgrepでも、動作しないんですよねー。
因に-rオプションを付けると、recursiveに、つまり下位にあるディレクトリの中身まで全部検索してくれます。
Winの場合は、Win版grepを落として来てパスの通ったディレクトリに置けば、動きますよ。
-rオプションも正常動作!これでWordPressの様な巨大スクリプト群の動作を追っかける時も怖くないぜ!
実際、複数のケースで謎の動作の原因究明に役に立ちました。
具体的には挙動がわからない関数の関数定義を探すのに使うのがほとんど。
希に変数も探すけど、変数の方が同じ名前のヤツが多い(その為のスコープですもの)ので、
そこまで役には立たないかなー。
is_single()の挙動とかはこれがなければたどり着けませんでしたよ。

CharSetCONVerter
略してcsconvとな。公式はこちら
見ての通り、決して新しいソフトではないんだけど、必要十分な機能が備わっていて、とても使い易い。
Web上のファイルを扱うと、どうしても文字コードには悩まされますねー。
私は使っていませんが、コマンドラインからも使える点もGoodですよね。バッチ処理もバッチリorz

サクラエディタ
フリーのテキストエディタ。中々強力。Winでは結構利用者多いのではないかな?
公式はこちらです。 元々私はHTMLにしろ、何にしろ、プレーンテキストはWindowsのメモ帳(NOTEPAD.EXE)で扱っていたんですが、 流石にShift-JISしか正常に読んでくれないnotepadでは、utf-8やeucで書かれたテキストを読み書きするのは無理があります。
いちいちcsconv通すのも流石に面倒です。
そこで高機能エディタで適当なのを探して、当たったのがサクラエディタ。
ただ、設定を変更した後、タスクトレイから「サクラエディタを完全に終了する」とかそんなコマンドを選ばないと、 iniファイルが上書きされず、結果として設定変更が次回起動時にパアになるのには何度も引っかかっています。
特にbregexp.dllの場所を中々覚えてくれなくて…(お前がちゃんと終了してないだけだわさ)。
ただサクラエディタに搭載されている文字コード変換は、あまりうまく動作しないみたいなので、 文字コード変換はcsconvなり何なり、別のソフトで行うのが無難。
サクラエディタを使う上では、上でも書いたけどbregexp.dllと、それからDiff.exeを用意しないと、威力が下がりますw

Inkscape
フリーのドロー系グラフィックソフト。フリーのくせにかなり強力。公式はこちら。
英語のソフトだけど、日本語化は可能。ただし、2B文字対応が不完全なのか、 テキスト入力は散々な結果になる場合があるので注意を要する。
あと、バージョンが1になっていないだけあって動作が不安定で時々落ちるので、保存はこまめにしましょう。
最近Webに進出して来た、SVGの編集が出来る。確かepsも読めた気が…。
あと個人的に?重宝しているのは、ビットマップトレースの機能。
ラスタ画像を持ち込んで、Inkscapeを通すと、かなり綺麗にベクトル化してくれる。
実は、去年の駒場祭で作った資料の表紙のウィトルウィウス的人体は、この機能を使ってベクトル化したものを、編集している。
はじめから手作業でやることを考えると絶望的な作業でも、この機能を通せば結構出来る!
もちろん癖があるので、思い通りの結果を得るには、事前の下準備が必要だったりするけど。

最近は使っていませんが、MetasequoiaLEとか、Pixiaとかも一時期は結構使ってました。
ただ、3DCGは猛烈に時間がかかるのと、最近画像編集自体をあまりやっていないのと、 Office2001に同梱のMicrosoft PhotoEditorでトリミングとか、最低限の機能は揃っているので、どちらもあまり使ってない。
とゆーか、3DCGならフリーソフトのBlenderでしょ!と思ったけどこちらも放り出してます…。
結局Shadeから3DCGに入ってしまうと、なかなかポリゴンモデラに馴染めないってことですかねー。
でもBlenderはそのうち再挑戦するのだー。だってBullet使えるらしいしー。

多分そのうち他のツールも紹介します。最後に一言付け加えるなら、正規表現による検索と置換ができると作業効率が全然違いますよ皆さんってことですかね。なんだそのオチ?は。

僕本~Amazonアフェリエイト一番乗り~

日曜日, 6 月 21st, 2009

だぞー。

今回紹介するのは、デーヴィッド・マコーレイ作の、『道具と機械の本』。私の人生を間違いなく左右している本だ。

アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。

私は実は画像に写っている新版よりも、旧版の方が好きなんだけど…。
どちらにしろ、面白い本なのは間違いない。本というよりは絵本かな。
斜面に始まり、ねじ、てこ、滑車、ピストンとクランク、…火の利用…電磁気力、核分裂、核融合まで図で解説が書いてある!!!
小学校3年生か4年生の時に小学校の図書室で見つけて、小学生には重い大型本だったんだけど、正しく貪るように読みましたね。
原点からは大分離れている(これを読む以前からそういうものは好きだった)けど、これほどいい本にめぐり合えなかったら少しは方向がずれてたかな。
勿論子供向けの本、厳密さはそれほどでもないけど、今読んでも十分面白いのは、紹介する道具の選択が冴えているのと、なぜかいつもマンモスが出てくる短い挿話の中で、道具がはたらく時に人間が利用している様々な現象のエッセンスが、直感的に掴めるよう書かれ(描かれ)ているところが素晴らしいんだろう。
小学生でも理解できるレベルで、これほど広範囲を扱い、楽しく、かつかなり正確に書いてある。
著者(本業は建築家)の知識の範囲もさることながら、綿密な下調べをうかがわせる凄い本です。
中々こういった本を日本人は書かないんですよねー。(偏見だ)

新版では、旧版になかった「ディジタルワールド」という章が追加され、若干他の章のページが削られています。
しかしこの新章は、残念ながらコンピュータを理解していない人が読んでも良く分からない。
他の章のレベルが高すぎて、この章はとても残念な感じになっています。
この本を小学校6年生ぐらいに親にせがんで買ってもらったのですが、当時は新版に追加された章のイメージが湧かなかった…。
応用的にどう使われているかはよく分かるのですが、この本の魅力である原理的な部分が良く分かる、って所までは行ってません。
おそらくマコーレイ氏はコンピュータを理解していたのですが、コンピュータの発達に合わせて急遽追加したため、説明の仕方を十分に寝る時間が無かったのではないか、と不遜なことを考えています。
コンピュータの原理を別の本で大体理解した高校一年生くらいになって読み返すと、「あーそういうこと」と頷けるのですが、小学生当時の知識ではちょっと厳しかった…。
コンピュータを理解した本についてはまた別の機会に譲ります。

シャトル再延期

木曜日, 6 月 18th, 2009

更新が滞っているので、書きたかった時間の掛かるネタを諦め、短いものを。

2009/06/17に予定されていたシャトルの打ち上げが例によって再延期された。当初の予定は13日だった。
次の打ち上げ予定は多分窓の関係でだと思うが、7月後半になるらしい。
日食と被りますねぇ。まさか日食中に打ち上げたりはしないと思うけど…。
あれ?今シャトルは夜間打ち上げはしないことになってるのかな?

宇宙開発では、打ち上げの1ヶ月延期は取り立てて珍しいことではない。打ち上げに掛かる費用が莫大であるため、 打ち上げを強行して失敗するよりも、多少延ばした方がいい、という判断が働くのだろう。
とはいえ、それが費用が嵩む大きな原因になっているのだと思うが…。

延期の原因は、一度目も二度目も発射台でシャトルに燃料(LH2)を注入するパイプ(アンビリカルケーブル)が、水素ガス漏れを起こしたためだ。
一度目のガス漏れの後、その周辺の部品を全て取り外して交換し、漏れが無いことをチェックして注入し始めたのだが、 途中でまたもガス漏れをしたそうな。原因はなんなんでしょうね。
知ってる人は知ってるだろうが(何でもそうだ)、あの発射台はアポロ計画のサターンVを打ち上げるために作ったもので、 それを小改造して今でも使っているのである。
なんでシャトル専用のを作らなかったかって?そりゃ金が掛かるからですよ。
実際、シャトルはサターンVと違って回転対称ではないので、打ち上げ時の姿勢に制限が掛かるあの発射台は不便なんですが、 今でも使っております。
だから打ち上げ途中でくるっと旋回するんですよね、シャトルは。
まぁそんなこんなでアポロ月着陸40周年の今年は、あの発射台はもう40を当に超えているわけです。
そりゃー40年前の建築物なら(雨ざらしだし)老朽化もしますわなぁ。

今回シャトルは、実験モジュール「きぼう」の目玉である、船外実験設備を軌道上へ運ぶ。
大規模な真空曝露実験を行う設備は、ISS全体でもここにしか設置されないので、利用価値の高い設備だろう。
実験設備用の小さなエアロックもJEMには付属している。あと広角X線カメラで全天を走査するらしい。
突発的な現象を発見して、地上に知らせるのが役目だ。
注目すべきイベントがあると、世界中の天文台の望遠鏡や天文衛星が、予定を変えてその現象を撮影する。
見てないところは見られないのが望遠鏡なので、全天を96分で見張る設備があると大変便利なのです。

曝露実験をしても実験後の試料をどうやって持ち帰るかって問題はどうするんでしょうね。
なんにせよ頑張っても6年程度しか運用できないんですが…。
とにもかくにも、無事打ちあがって欲しいものです。

あたわるぱ。

水曜日, 6 月 10th, 2009

さてお約束通りCODINGネタ。
前回のキャッシュする作戦は一応成功したらしく、運悪く再生成する場合には、顕著に表示が遅くなる。
まぁ自己満足ですけどね。
でもアルゴリズム的に無駄な所を一カ所発見してショーック。
make_update_list()は、引数を4つ取っているのですが、当然どんな引数が渡されるかは実行時にならないと分かりません。 つまり、前回の引数と違っていたら、動作を変えなくてはいけないので、キャッシュを破棄して再生成しなくてはいけない。
そこで、再生成する度にそのとき使った引数をデータベース上に保存することにしたのですがー。
別に個々の引数が必要な訳じゃないんだから、まとめて判定してまとめて保存しておきゃーいいのに気付かず、 いちいち引数四つを個別に更新しているか判定、さらに個別に保存してまつた…。
後で直します…。

さて次の私の(自己満足の)ターゲットは、本家のあの長〜いヘッダ。アレどうにかしたい。CSSを外部ファイル化したい。とてもしたい。
その為のHeadClearnerってプラグインもあるんだけど、諸般の事情により使えないので、自作(!)しちゃえ。
自作と言う程のことは出来ないけど、Atahualpaのheader.phpを操作(ってかhack)すれば、ページに出力されるCSSが変更できるのは実証済みなので、 その出力を(場合によって)ファイルに保存しておけばいいのです。で、<style rel=”???.css”>とか書き込めば、うまくいく筈ですよね?
同じCSSを使っているページなら、外部CSSファイルを共有して、ブラウザ側でキャッシュしてくれるので、そう言う意味でもサーバ側もクライアント側も嬉しい筈。

で、方針。echoをリダイレクトします。出来るのかチェックした訳じゃないんだけど、これだけCそっくりなんだったら、標準出力への出力をリダイレクトする機能も多分あるでしょ。
CSSをモーレツに出力し始める手前で、条件分岐して、ファイルの更新日時と、タイムスタンプを比較して、もし設定が変わっているようなら、ファイル出力をやり直します。
そうでないなら素通しで。あ、あとカテゴリ毎に違うヘッダを適用するって、Atahualpaじゃ出来ないんでしょうか。Atahualpaの設定項目のほとんどは、CSSの形でheader.phpで呼び出されてしまうので、 header.phpの内容をどうにかしない限りは、どうにもならない。
今はheader.php内にカテゴリ判別を付加して強引に動かしているのですが…。
そんな感じ。いつ取りかかれるやら…。Atahualpa設定項目多過ぎですよ(泣)。

キャッシングは計画的に。

月曜日, 6 月 8th, 2009

いやはや、中々儘ならぬものと言うか、コーディングでよくあるのはうっかりミスである。
今回の、make_update_list高速化計画こと、caching(って言うのかな…)しようぜ!計画は、一応成功裏に終わったのであるが、躓いた所を列挙してみよう。

  1. OSの違いに泣くある程度の部分はローカルでテストをしたのだが、前にも書いたと思うが私の環境はWinXP+Apache2.2+PHP5.2+MySQL5.0である。Unixと違ってパーミッションが無くて云々て言う話は前もしたような気がする。今回はfilemtimeなる関数を使おうとしたのだが、これはWinでは実装されていないそうだ。ダメか。ついでにmb関数群もダメらしい。それは無いだろ。おいおい。という訳で、結局ローカルではプラグイン丸ごとの試験は出来なかったorz
    これはUnixマシンを所有せよとの神のお告げか!?(どーゆー神だ&金はあるのか)
  2. array_splice()は中々曲者であるというのも、添え字が保存されないので、foreach($array as $key => $element)の中で呼ぶと、array_splice()した部分以降の、$keyと$elementの関係がずれてしまうらしいのだ。あるいは、条件式で( $number && $x != 1)みたいなことをやったのだが、つまり$numberが0か空ではなく、しかも別の変数$xが1でないという条件式なのだが、これが意図した通りに解釈されなかった可能性もある。ちゃんと切り分けて実証はしていない。とにかくarray_spliceするループを分離してしまったら収まったので、それでよしとした。
  3. 定義リストを閉じ忘れたトップページのソースを見てもらえば分かるが、”ゼミ生ブログ集”の部分は、DIVタグで囲われた定義リスト(DL)になっている。んで定義リストを閉じる部分を吐き出し忘れた(てへ)。直ぐ気付いたが…。
  4. パスを間違えたのに気付かなかった。キャッシュを保存しているのだが、いくらやっても上手く保存できている様子が無い。この間実験した時には上手く行ったのに、何がいけないんだ…と頭を抱えていたら、スラッシュが一本足りず、存在しないディレクトリにあるファイルを開こうと頑張っていた。そらー開きませんわ。書き込めませんわ。
あとは、データベース上のブログオプションに、一部のデータを保存したくて、この間も紹介した我等がバイブルを参照していたのだが、そこでget_last_updated()なる関数を発見してしまったorz
コレ、私が苦労してデータベースにクエリ発行して取得していた情報を取ってくる関数じゃありませんか。徒労感が…。
とは言え、幾つかのデータは結局データベースにアクセスしないと、用意された関数群からでは取得できそうに無い(?)ので、まぁいいかと自分を慰めています。ハイ。或いは灰。
まぁそもそもこの関数を見つけられたのだって、関数名と引数を見れば大体どんな関数なのか見当がつくという、WPMU(あるいはWP)での命名作法に慣れてきた証ではあります。喜びましょう。悲しみましょう。
これできっと恐らく多分(随分自信ないんだな)、ブログが更新された直後にKENBUNDENトップを訪れた不運な人意外は、キャッシュされたデータでリストが作成されるので、随分表示が速くなる…といいなぁ…。

オマケ:この記事の投稿に使っているstrongタグの閉じタグを、一箇所storngと表記してしまって、変な投稿をしてしまったのは内緒である。

奮闘記02

月曜日, 5 月 18th, 2009

えーと結論を申しますと…インストールできました。 ずばり、phpからmysqlを呼び出せるように設定してませんでしたorz

何をやってるんだか…。ApacheとPHPをインストールした時に、設定を後回しにして失敗したな。まぁローカルへのインストールは成功~。Unixと違ってWinではファイルのパーミッションとかもないし、メンド臭くないですね(セキュリティ意識のない奴め)。これからいじくるぞー。

奮闘記01

月曜日, 5 月 18th, 2009

さて私が何と格闘したかと言えば、WordPressMUである。 なんかもう定番の観すらあるね。強敵である。 そもそもデータベース初心者でPHPも大して使ったこと無いヤツが、 WordPressのような巨大なPHPアプリを読み解こうと言うのが オコガマシイのではあるけれども。

今回の課題は、ローカルにWPMUをインストールである。結論から言うと未だ成功していない。 そのものズバリのローカルPCにWordPressMUをインストールなんてページがあったので、 大分参考にした。何でそんなことするの?と言えば、サーバ上ではセキュリティ上の理由から(当然ながら)エラー表示は抑制されてしまう。 しかし初心者の私はエラーログとかエラーメッセージがないと、どこでエラーってるのかよくわからん。 サーバの設定を書き換えるのは(レンタルサーバなので)無理だから、じゃ〜ローカルにインストールしてみますか。 という単純な発想。そこでこんなに詰まるとは…!

私がやった手順を一応書いて置こう。間違いを指摘してくれる人とか現れないかなw 小文字で書いた所は適当に書き換えてます。 因に環境はWinXP、Apache2.2.11、PHP5.2.8、MySQL5.0.77です。細かいVer情報追記。

  1. ソースと日本語化パッチ?をダウンロードして、ドキュメントルート下のサブディレクトリに解凍
  2. MySQLでCREATE DATABASE databasename DEFAULT CHARACTER SET utf8;
  3. MySQLで管理者を追加(GRANT ALL ON *.* TO username@”%” IDENTIFIED BY ‘password’ WITH GRANT OPTION)
  4. もう一丁管理者を追加(上記ページの情報より)GRANT ALL ON *.* TO username@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION
  5. あーもしかしてFLUSH PRIVILEGESし忘れたかも?
  6. C:\WINDOWS\system32\drivers\etc\hostsを開いて、127.0.0.1にwp.muという別名を設定
  7. DocumentRootに直接インストールしたい訳ではないので、DocumentRootはhtdocsにしておく
  8. Apache再起動
  9. http://wp.mu/dirname/index.phpにアクセス(インストールスクリプトまでは動く)
  10. Submitしても凍りついて先に進まない(ブラウザがフリーズとかではない)

その後の原因究明活動〜。

  1. 取り敢えず複数回同じ動作を行う
  2. ダメなので、MySQLとApacheをつけたり消したり
  3. ダメなので、ProcessExplorerで監視しながらやってみる
  4. どうやらMySQLのモジュールが動いていないとか言う訳ではないらしい(瞬間的にCPU使用量が増加している)
  5. お手上げーなのでフォーラムを覗く
  6. mail関数周りのせい?
  7. しかしデータベースに新しいテーブルが作成されていない!…ということはそれ以前の問題か…。

結論:ワカンネ 家に帰ったらエラーログを洗おう…。PHPのエラーならエラーメッセージが出て実行停止するはずだしなー。 あとはこのへんを参考にして、データベース自体を一回消去してみるべき? でも何も書き込まれてないんだが…。いっそrootユーザでアクセスしてしまうかw そもそもPHPでMySQLが使える様に設定できてないとか?いやいや。

    対処方針
  1. php.iniでMySQLが使える設定になっているかチェック
  2. FLUSH PRIVILEGESしてみる(多分無意味)
  3. rootユーザでアクセスしてみる
  4. mail関数周りの設定を変えてみる
  5. データベースを一度消去(実害はないので)
とりあえず今考えられる対処法はこれくらいかー。エラーログをちゃんと読まないとダメだなー。 では次回朗報を書けることを祈りつつ。

窪田-タイトルは短く本文は長く-史朗

自己紹介について

木曜日, 4 月 30th, 2009
自己紹介については、ココを見てちょんまげ。