Windows7(64bit)でMT

ご無沙汰してます。
こんな更新が気まぐれなブログでも備忘録にはなるだろうと
たまーに更新してみます。

なんにするにしてもローカル環境で構築してみないと気が済まない性分な私ですが
今回はMTのインストールです。
ネット中そこいらに転がっていますが
具体的に環境を。

実行環境はWindows7(64bit)
必要環境はすべてXAMPP。

とりあえず↑はインストールするとして。

問題がいくつか。

  1. MTのperlのパスは変えたくない
  2. Perlのモジュールが足りない

1に関してはこちらの記事を参考に、
しながら、リンク作成シェル拡張for Windows 2000/XP(WindowsNT/2000/XP / ユーティリティ)を
対象ページからWindows7の動作報告されている64bitのモノをインストール。
これでパスは問題なく通る。

2に関しては、MTのインストールウィザードの中で、GD、ImageMagickSendmailが足りなそうなんで
ppmからインストール。これで楽々モジュール追加。
ppmでインストールする場合、ネットで見る限りパッケージ名がころころ変わってるようなんで
コマンドラインppm起動後、searchでちゃんと探してから指定してあげるのが良いかと。

これで簡単にインストール完了。

OpenPNEのver3を導入してみます。

とりあえず、開発環境はWindowsなのでなんとなくインストール開始。
symfonyの導入でPHPのverが足りない・・だと・・!?
xamppの最新版を落として、
PEARアップグレードして、
symfonyのチャンネル追加して、インストールして
xamppをバージョン毎にインストールしてるからsymfony.bat書き換えて

どうやらうまくいきそうな定時前。

久しぶりに更新。

UTF-8のシステムを構築することになったのだが、Ethnaを使いたい。
と言うことで、

いろいろ検索してみる。

結果、こちらを参考に
Ethna自体はEUC-JPのまま(いじらずに)。
http://human-connect.sakura.ne.jp/blog/2008/02/ethnautf8.html

app、template、(skel)のみをUTF-8化する方向で。
あとベタで書かれたえらメッセージがあるためにActionErrorを継承して
UTF-8でエラーを吐くように。

ぐらいかな?

EthnaでADOdbを利用してみた。

Ethnaとは直接的には関係ないけど躓いたところを。
DBから大量のレコードを取得するようなselect文を投げた時PHPが死ぬ。
普通にoci8でダイレクトに投げるとちゃんと動く。

ADOdbではグローバル変数
$ADODB_COUNTRECS
もしそのデータベースドライバAPIがSELECT文で返されるレコード数のカウントをサポートしていなければ、グローバル変数$ADODB_COUNTRECSがデフォルトのtrueに設定されているとき、RecordCount()関数がエミュレートされます。レコードをバッファリングすることでエミュレートします。このため大きなレコードセットには大量のメモリを消費することになります。最善のパフォーマンスのためにはこの変数をfalseに設定します。この変数はクエリーが実行されるたびにチェックされるので、カウントすべきレコードセットを選択することができます。

というものがあるような。
今回ADOdbで接続しているDBはOracleということもあり、この機能を利用しないようにしてみる。
DBオブジェクトを作成した際にこいつをオフってみたらちゃんと動作ているみたい。
まぁ大量のデータを一気に取得するような仕様への突っ込みどころは満載ですが。。