Macでphpを開発中に Warning: mysql_connect(): [2002] No such file or directory が出たとき
mysql.sockのパスが違うのが原因です。
対応方法
1.mysql.sockファイルを探す
どこにあるか探しましょう。
| 1 2 | sudo find / -name mysql.sock | 
2.confファイルにphp_valueで設定します。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # /path/toの箇所は適宜変更して下さい。 vi /private/etc/apache2/other/sample.conf <VirtualHost *:80>     DocumentRoot "/path/to/www"     ServerName local.localhost     <Directory "/path/to/www">         Options Includes ExecCGI FollowSymLinks         AllowOverride All         order deny,allow         allow from All         php_value mysql.default_socket /path/to/mysql.sock         php_value mysqli.default_socket /path/to/mysql.sock     </Directory> </VirtualHost> | 
3.確認
| 1 2 3 4 | vi /path/to/www/info.php <?php phpinfo(); | 
でphpinfoを表示するものを定義し、
http://local.localhost/info.php
で確認しましょう
その他の対応
php.iniの該当箇所を
| 1 2 | mysql.default_socket /path/to/mysql.sock | 
を変える。
.htaccessに
| 1 2 | php_value mysql.default_socket /path/to/mysql.sock | 
を定義する。
個人的にはオススメしませんが、.phpファイルに直接
| 1 2 | ini_set("mysql.default_socket","/path/to/mysql.sock"); | 
という手もあります。






