XAMPPをVistaで使おうとしてハマるワナ
2009-02-04 00:02 | IT | コメントをする »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
すると、もれなく
と、エラーが出現します。強制終了の雰囲気ですが、コマンドは実行されます。
うーん、気持ち悪い。
原因は既出で、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が起動せず、強制終了します。
ということなので、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を使って、少しずつ解析していって、経過を載せたいと思います。
Mac買っちゃった
2008-07-16 01:25 | エントリー, 日記 | 1 コメント »MacBookを半ば衝動買いで買ってしまいました。
129,800円+メーカー製メモリ4GB(20,000円)−5%でした。
実は買う前、すごい悩んだんですよ。高い買い物だし、そもそも要るのかよ!っていう話ですよ。
それが一変。
買ったらテンション上がっちゃって、もうずーっとMacBookをいじってます。アホみたいに。
このブログを始めた頃にちょっと書いたんですけど、
Windows Vistaマシンを期待して買ったわけですよ。
いい噂は聞かないけど、MSが「XPもうやめたい…」って言ってるし、
仕事柄新しいOSも触っておかなきゃいかんかなと。
でも最悪な結果で。
そもそも重いし、常にハードディスクがカリカリしてるし、
スリープから戻るとエクスプローラ落ちたり、無線LAN切れたり、
とにかく使うたびにイライラするんです。
効率よく仕事(作業)したい方は絶対にVistaにしない方がいいです。
Windowsだったら、Core2Duoに2GBのメモリ載せて、XP SP3がトータルのパフォーマンスは絶対高い。
…と、Windowsの愚痴を言うつもりはなかったのに。
それぐらい、このMacBookが心の琴線にふれたんです。体に染み入る感じ。
なにが良いって、まず速い。間違いなくVistaより速くて、安定している。
そして、まさに「神は細部に宿る」を地でいくディテール。
Expose(1ボタンでウィンドウをはけさせるたアレ。VistaのAreoは使えない)の小気味よさ、
Dashboardの慎ましさ。
エンジニアにとってはSpacesがすばらしく便利。
言葉で言っちゃうと最大16画面のバーチャルデスクトップ。
でもその切り替えが、Ctrl+↑↓←→でビュンビュン切り替わる爽快感。
当然ターミナルも標準。
URLをコピってwgetで取得とか、ファイルをrsynでコピーとか、普通にできちゃう。
ターミナルの表示もいろいろカスタマイズができて、
「Pro」っていう黒い画面は、バックグラウンドのウィンドウが透けて表示されて
無意味にかっこいい!と思っていたら、実は裏が透けていた方が
ブラウザーを読みながらコマンドが打てたりして超便利。
Javaも標準。
Eclipse3.4もスルスル動きました。
ApacheもPHPもPerlもRuby(Railsも)もPythonも入ってます。
まさにWebエンジニア用のハードウェアです。
Bluetoothを使ってケータイとPCでデータ通信をする
2008-05-13 23:48 | IT, エントリー | コメントをする »こうゆうエントリーは別にしたいと思いつつ、書いちゃえ。
僕はソフトバンクの913SHというケータイを利用しておりまして、このケータイにはBluetoothという無線規格でデータのやり取りができる機能があるんですが、PCに認識されてもどうやって写真などのデータをコピーするのか分からず、途方に暮れていました。
OS(Windows Vista)がデフォルトで利用できる機能は通信機能(Dial-Up Networking)のみのようで、公衆無線LANやらイー・モバイルやらあるなかで、ニーズがいったいどれだけあるのか。
そしたら、ちゃんとアプリケーションがでていました。その名も「ケータイdaSH」!
!!!!
ダッシュとSH(シャープ端末の意味)をかけてるの!?えーダサくない?ダサくない?
でも、しょうがない。使わせていただくのだから・・・。
922SH/921SH/920SH/913SH/912SH/911SH/910SH/905SH/
904SH/903SH/823SH/822SH/821SH/820SH/816SH/815SH/
814SH/813SH/812SH s/812SH sII/812SH/811SH/810SH/
804SH/705SH/703SH/703SHf
が対象機種みたいで、Bluetooth以外にもUSBや赤外線通信もサポートしているようです。
これでケータイでメモ書いたり、写真撮ったりしても面倒くさいことにはならなくなりました。
Vistaはきらい
2008-04-10 01:07 | エントリー | コメントをする »去年買ったメインのPCがVistaなんですけど、休止状態から復帰するとALT+TABが効かなくなったり、IEがメモリリークして新しいウィンドウが開けなくなったり・・・。
せっかくクアッドな環境なのでVMWare Server上にCent5とFedora8と入れたんですが、起動時にフリーズぎりぎり一歩手前位の状況になるんです。
リソースを見てみても、CPUも10%程度、実メモリもまだ60%くらい残っているのにHDDをものすごい勢いでガリガリやるんで、よく見てみるとなぜかスワップを起こしているような状況。
で、いろいろ調べてみると、解決方法を発見!
VMware が頻繁にディスクアクセスして OS 全体が固まる件
設定したらウソみたいに快調に動き出しました!やった!
・・・とはいっても、休止状態からの復帰ではVMWareが暴走して、どこかのキーが押しっぱなしになっちゃうみたいな動きで、強制終了をせざるを得なくなります。
会社で使ってるPCはCore2Duo/DDR2 2GB/GeForce7600にXP Pro SP2と、スペック的には下なんですけど、とても快適なので、余計イライラします。
たぶんHDDがRAIDだからなんだと思うんですが、さすがにそれを自宅のPCにやりだしたらやりすぎかな、と。
でも最近普通にRAID5が組めるNASが家電量販店に売ってますよね。5万くらいですか。
メモリもCPUもパフォーマンスが上がってるのにストレージだけはパッとしませんね。
RAIDにするか、SSDでもいれてみるか。