この何の変哲もないコードで
if( !$conn = mysql_connect( $host, $user, $pass ) )
出たエラーはこれ
Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)
結論から言うと、ホスト名($host)を localhost → 127.0.0.1 に変更で解決しました。
Mysqlは localhostと指定すると unix domain socketを使うのですが、
IPで指定することで TCP socket を使わせることができるのだそうです。
windows版XAMPPでは問題が起きなかったため、それなりにとまどいました。
さらに時間をくわせたのが、上記エラーをググって出てきた、
cakephpのbakeする時?とかに発生するらしい
mysql.sockのパスの変更による解決。せっかくなのでメモ
php.iniで指定したパスと実際に見ているところが違う場合に同様の エラーが起こるらしい
解決法は以下らしい
1 - php.iniのパス変更 参考記事
2 - シンボリックリンクの作成 参考記事
3 - my.cnfの設定変更 参考記事
ちなみに phpinfo() でphp.iniの場所と、見てるmysql.sock の場所が確認できます
※因果関係は不明ながら、この後mysqlが起動しなくなる事象が発生
別のmysqlが起動してますみたいなメッセージ出てた。で、状態としては、
・ブラウザ上でphpファイルは普通にmysqlにつないで情報読み込めてる
・phpmyadminのそのページで使用しているテーブルを読み込もうとするときのみ 2002 エラーが発生
・phpmyadminでその他のテーブルは普通に見れる
てな感じでした。ググって出てくるmysql起動しないも当てはまらないし、一旦放置