my.cnfのファイル名を勘違い

テスト用の環境をセットアップしたら

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

とエラーが出てしまう。環境はRHEL4。
開発用の環境はCentOS4なのだけど、こちらでは同じ事象を発生させられない。my.cnfにあるソケットの指定だということは判るのだが、いくら編集してみても編集内容が反映されない。[mysqld]でsoket=/tmp/mysql.sockを/tmp/mysql.sock.testに名前を変更してmysqldを再起動しても/tmp/mysql.sock.testになっていない。my.cnfを/usr/local/etcにおいても駄目。

色々と悩んだ挙句に「my.confではなくmy.cnf」である。という記述に辿りつく。my.cnfにしたら一発OK。orz。

ああ、半日を返せ。

xdebugを使ったリモートデバッグの設定

php.iniに記述を追加

zend_extensionの下に追加

;xdebuger
zend_extension=/usr/local/lib/php/xdebug.so
xdebug.remote_autostart=On
xdebug.remote_enable=On
xdebug.remote_handler=dbgp

php.iniの設定を反映

# service apache stop
# service apache start
# php -i  |grep xdebug\.remote
xdebug.remote_autostart => On => On
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => localhost => localhost
xdebug.remote_log => no value => no value
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000

リモートデバッガをインストール

# xdebug-2.0.0RC3/debugclient
# ./configure
# make
# make install

debugclientを動かしてみる

インストールしたdebugclientを起動して

# debugclient
Xdebug Simple DBGp client (0.9.1)
Copyright 2002-2006 by Derick Rethans.

Waiting for debug server to connect.

待ち状態になったらブラウザからPHPの画面を実行してみる

Xdebug Simple DBGp client (0.9.1)
Copyright 2002-2006 by Derick Rethans.

Waiting for debug server to connect.
Connect
<?xml version="1.0" encoding="iso-8859-1"?>
<init fileuri="file:///usr/local/xxx/public_html/index.php" language="PHP" protocol_version="1.0" appid="9571" idekey="root"><engine version="2.0.0RC3"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2007 by Derick Rethans]]></copyright></init>
(cmd)

となったらdbgpのコマンドを実行するらしい