日々のできごとと写真

2009年02月のアーカイブ

XAMPPをVistaで使おうとしてハマるワナ

2009-02-04 00:02 | IT | 1 コメント »

xampp_vista

Windows環境で使っているXAMPPに含まれるApacheやPHPのバージョンが若干古いので、最新のものに入れ替えようとしてハマったことを記します。

環境

  • Windows Vista SP1
  • XAMPP 1.7.0
    • Apache 2.2.11
    • MySQL 5.1.30
    • PHP 5.2.8
    • phpMyAdmin 3.1.1
    • FileZilla FTP Server 0.9.29
    • Mercury Mail Transport System v4.52
    • OpenSSL 0.9.8

apache friendにある1.7.0のZIPアーカイブ版を利用しました。
ダウンロード後、C:\xamppに展開することにします。

PHPのcliでエラー

早速、PHPが正常に動くか確認するため、コマンドラインでバージョン情報を確認します。

c:\xampp\php>php -v
PHP 5.2.8 (cli) (built: Dec  8 2008 19:31:23)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
    with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies

すると、もれなく

CLIは動作を停止しました

と、エラーが出現します。強制終了の雰囲気ですが、コマンドは実行されます。
うーん、気持ち悪い。
原因は既出で、php_mysqli.dllが原因のようです。

extension=php_mysqli.dll

;extension=php_mysqli.dll

とコメントにすることで対処できるんですが、じつは1.7.0では(どのバージョンからは不明)対応済みのdllが用意されています。
xampp\php\extをのぞいてみると、「php_mysqli_5.0.51a.dll」というファイルがあり、これを「php_mysqli.dll」にリネームすることで回避できます。

php -i
#snip
mysqli

MysqlI Support => enabled
Client API library version => 5.1.30
Client API header version => 5.0.51a

バージョンがバラバラなのがかなり気持ち悪いんですが、MySQL5.1.30に対しても問題なく動きます。

eAcceleratorでエラー

デフォルトではOFFにされていますが、PHPのアクセラレータのひとつ、eAcceleratorがバンドルされているので、これを有効にしてみます。
php.iniを修正します。

よくあるミス
XAMPPにはphp.iniが2つあります。
ひとつはxampp\php の下、もうひとつはxampp\apache\bin の下。
前者はCLI用のiniファイルで後者はApacheモジュール用のiniファイルですので、注意しましょう。

セミコロンをすべて外します。

矩形選択

こういう作業は矩形選択(箱型選択)できるエディターが便利ですね。
(上記エディターはK2Editor

さて、実行してみましょう。

php -i
#何も表示されずに終わってしまう・・・

php -v
#こっちもだ・・・

ログもエラーも出ないので、困った・・・。
CLIからの追跡はあきらめて、PHPモジュールの方のphp.iniのeAcceleratorを有効にして、ApacheからPHPを実行して経過をみてみます。
すると、Apacheが起動せず、強制終了します。

eacceleratorが有効にならない

ということなので、Apacheのエラーログ(xampp\apache\log\error.log)を確認します。すると、

PHP Warning:  [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.7. Rebuild it for your PHP version (5.2.8) or download precompiled binaries.\n in Unknown on line 0

衝撃の事実。xampp1.7.0にバンドルされているeAccelerator.dllは(ある意味伝説の)5.2.7 をターゲットにコンパイルされているので、バージョンが合わないというエラーです。

こちらのサイトに5.2.8用にビルドされたdllがダウンロードできるので、こちらをxampp\php\ext\eAccelerator.dllと差し替えます。

c:\xampp\php>php -v
PHP 5.2.8 (cli) (built: Dec  8 2008 19:31:23)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
    with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
    with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies

ちゃんと認識されました。

それから忘れがちなのが、ACLが有効になってるとサーバーの立ち上げなどにAdministrator権限が必要なので、xampp-control.exeなどを実行するときには、右クリック→管理者として実行(A) で起動しましょう。sudoですね。
リソースが許すの出れば、サービスに登録してしまうと楽です(セキュリティーには気をつけて)。

今回なんでVista環境にxamppを入れたかというと、このブログでも使ってるWordPressのコードを読んで見ようと思ったからです。
ソースをちらっと見たことある人ならわかると思うんですが、結構ヒドいコードです。
PHPのカオスさがそのまま如実に表れてるというか。
なので、debugツールを使って楽をしようと導入したわけです。
XDebugかZend Debuggerを使って、少しずつ解析していって、経過を載せたいと思います。

ひょんなことからパンを作ることになった

2009-02-02 00:49 | おいしい, 日記 | コメントをする »

ABCCS

クッキングスクール?料理教室?

ABC Cooking Studioに通っている友達の紹介で、無料で体験ができるということで連れて行ってもらいました。
作るものはチョコブレッド(パン)とベリーのコンポート。むむ。

最近料理教室が流行ってるみたいですね。
ABC Cooking Studioは女性限定の教室ですが、「+m」という教室が丸の内と銀座に2か所あって、そこは男子も通えるんだそうです。
今日は銀座ファイブにある銀座の方の+mへ行ってきました。
日曜日ということもあって、実際に女の人に交じって料理作りに奮闘する男の人がちらほら。
ちなみに皆さんが今日作ってたのは「ホウレン草の手打ちパスタ~サーモンクリームソース~」と「魚介と野菜のフリット」でした。

体験スタート

教室に着くとロッカーに荷物を預けて、今日の先生との挨拶を済ませ、エプロンとハンドタオルを借りてキッチンへ。
無料体験ということで、作る材料はすでに計量済み。(実際の教室では計るそうです。)
さらに小麦粉・イースト・砂糖などの入ったボールと小麦粉・塩の入ったボールと二つに分けて置いてありました。
イーストの入った方のボールに(これもすでに計量済みの)溶き卵を流し入れ、熱いお風呂ぐらいの温度のお湯を入れ、こねます。
そこへ塩の入った方のボールに無塩バターを入れ、中身をすべてイーストの方のボールに入れて混ぜます。
まとまったらボールから取り出し、机の上でこね延ばして、1次発酵40℃のオーブンで20分。
発酵中には使った物を洗います。
調理で使ったものは都度自分達で洗うんですね。

驚きの連続

っていうか、オーブンで40℃とか設定できるの知らなかったー。
材料も全部計ってあって、3分クッキングをやってるみたいな感じで面白いもんですね。
無料体験の方は先生がマンツーマンだったんですが、手打ちパスタを作ってる本番チームはマイクを付けた先生が中央にある教壇風キッチンで調理をしていて、その手元(コンロとまな板)を2台のカメラが映していて、生徒さん達は壁にかかってる液晶画面でそれを見ながら各々調理を進めていくという、IT全開のスタイルでした。

あまりべったりと教えられるのが苦手な人にはちょうどいい距離感で、これはいいスタイルだと思いました。
わからないところは別にサポートする先生がいるようなので、置いて行かれることもなさそう。
最初ビデオみて進めてるのかと思ったけど、違いました。

後半戦

さて、発酵が終わってふっくらした生地を広げて30cm角程に延ばします。
その真ん中にチョコレートシートを乗せて包みこみます。
チョコを含んで縦長になった生地を3つ折りにして延ばし、3つ折りにして伸ばしを繰り返すと生地ごしにチョコレートがマーブル柄に透けてきて、いつかチョコがはみだしやしないかとひやひやしながら作業しました。
なんとかまとまったところで、生地を三等分して渦巻きになっている切り口を上に並べて、2次発酵を25分。

洗い物をした後は休憩ということで、試食スペースでコーヒーを飲みながら休憩。
教室もきれいだし、ジュースやコーヒー、ワインまで置いてあるドリンクコーナーがあって、そこから自由に飲み物を頂いて、無料なのに至れりつくせりだー。

2次発酵が終わったら、表面に卵黄を塗って、アーモンドスライスを乗せ、ついに焼きます。

休憩しながら待つこと18分。できあがり。

焼きあがり

コンポートの方は材料のオレンジを切っただけで、煮込む作業は全部やってもらったので、気がついたらできていた感じでした。

箱にパンとコンポートを入れてもらって、終了。お疲れ様でした。

まとめ

無料体験なんだから入会を促すような勧誘が当然あるんだと思ってたんですけど、なーんにもなく普通にパン作ってコーヒー飲んでコンポート作ってもらって、それをお土産にもらって帰ってきたっていう、なんとも恐縮してしまうほど、素晴らしい体験でした。

それでは申し訳ないから、ブログで若干宣伝しようかなーと、思ってしまったくらい。

料金プランをみてみたら、1授業が4,500円程(回数券方式なので値段が微妙に変わる。12回から。)で、自分の都合に合わせてどこの教室にいってもいいみたいです。(男子は丸の内・銀座限定)

個人的に料理は自分で作って失敗して上手くなるものだと思っているので、教室で習って覚えるというのがしっくりこないんですが、作ってるものがパーティーでふるまったり、休日に1日かけて楽しみながら作るようなものだと、習うっていうのがマッチするのかなーと思ったりしました。
今日やってた生パスタとか、家庭料理じゃないですからね。

料理(調理)は科学変化をどう制御するのかという物理面と、つくる相手を思う精神面が両立しないとうまくいかない、とても奥が深い技術ですねぇ。

いただきます!

この箱にパンが
こういう感じで入ってました
いただきます

このウェブサイトにアクセスすると、コンピュータに損害が生じる可能性があります。

2009-02-01 23:31 | 日記 | コメントをする »

Googleエラー

こんなメッセージが、このフォントサイズで出てきたらびっくりしますよ。
しかもGoogleの検索結果で。

さすがにキーワード「google」で検索しても下のような結果になったときは、googleの不具合だと思ったんですが、事態は意外と深刻なんじゃないかと思いました。

検索結果

わかっていたことですが、インターネットで検索エンジンを無料で提供している1企業のシステムが不調になっただけで、多くのユーザーが影響を受けるということ、ですよね。

公共の電波を使って放送をしている放送局のような公共性が求められてるのと、ほぼ同じだと感じました。
また、ある人は「自分のウェブサイトをキーワードとともにgoogleにインデックスしてもらうということは、銀行にお金を預けるようなもの」だと言っていました。
より長くより多くインデックスしてもらうことで、多くのリクエスト(お金)を集めることができるってことで、こちらも公共性の高い事業の例えだと思います。

しかし、天下のgoogleをもってしてもヒューマンエラーを起こしてしまうってところには親近感が湧きました。
rm -fR / 的なてんやわんやがあったんだろうなぁ。