PHP Warning: mysql_connect(): - MySQLソケットエラー
当ページのリンクには広告が含まれています。
PHPスクリプトからMySQLへ接続する場合、以下のようなエラーが表示され、MySQLデータベースへの接続が確立できない場合があります。
Warning: mysql_connect(): [2002] No such file or directory
ここでは、このエラーの詳細と対象方法を紹介します。
エラー対処方法
これは、MySQLで指定しているソケットとPHPで指定しているソケットが異なる場合に起こるエラーです。ということで、適切なソケットの場所を指定しましょう。
mysql.sockの場所を確認するには以下のコマンドを実行すれば、OKです。
Linux環境の場合
$ mysql_config --socket /var/lib/mysql/mysql.sock
MAMP環境の場合
$ mysql_config --socket /Applications/MAMP/tmp/mysql/mysql.sock
このように環境によってソケットの場所が異なるので注意しましょう。
あとは、php.iniファイルにソケットの場所を指定すれば、OKです。
mysql.default_socket = /var/lib/mysql/mysql.sock
レンタルサーバーなどの環境で、php.iniファイルを直接編集できない場合は、PHPスクリプト内に以下のコードを記述すれば、OKです。
ini_set("mysql.default_socket","/Applications/MAMP/tmp/mysql/mysql.sock");