1. ホーム
  2. php

[解決済み] SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません [重複]。

2022-02-07 15:18:38

質問

私はOS X上でlaravelプロジェクトを実行しようとしています。私はhomebrewでMySqlをインストールしました。 なぜこのエラーが出るのか、いろいろとググってみました。

SQLSTATE[HY000] [2002] No such file or directory

をしようとすると

php artisan migrate

そして、私が見るほとんどの回答は、phpとMySqlは互いに通信できないと書いてあります。 私はそれについて以前の投稿に従ったと思うので、私はどこで間違ったのかを見ようとしましたが、それはまだ動作しません。 私はこれを行うだけのページを作成しました。

<?php
    phpinfo();
?>

と、こういうのが出てきます。 コンフィグエリアで、私は参照してください。

'--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-mysql=mysqlnd' '--with-pdo-mysql=mysqlnd' '--enable-pcntl' '--enable-zend-signals' '--enable-dtrace'

読み込まれた設定ファイルです。

/usr/local/etc/php/5.4/php.ini

もし私が ls /tmp というメッセージが表示され、mysql.sockが表示されます。

そのphp.iniファイルの中で、以下の行を設定しました。 pdo_mysql.default_socket=/tmp/mysql.sockを設定しました。 mysql.default_socket = /tmp/mysql.sock mysqli.default_socketは、/tmp/mysql.sockです。

そして、/usr/local/Cellar/mysql/5.6.16/my.cnfに、以下の行を追加しました。

socket = /tmp/mysql.sock

apacheを再起動し、mysqlが動作していることも確認しました。 phpとmysqlの接続以外のアドバイスは見当たりません。 私は、mcryptか何か覚えていないものをインストールしたときに、別のバージョンのphpをインストールしたので、私のシステムには2つのバージョンのphpがあると思います。 でも、phpinfoの出力を見ると、適当なphp.iniファイルを編集しているんです。 私が見逃している別の部分があるのかどうか分かりませんでした。 何か思い当たることはありますか? ありがとうございます。

解決方法は?

検索した結果、この投稿を見つけました。

MacでLaravelをセットアップする php artisan migrate error: そのようなファイルやディレクトリはありません

を追加したら

'unix_socket' => '/tmp/mysql.sock’,

をmysqlの配列の中のdatabase.phpに追加するとうまくいきました。 なぜうまくいくのかよくわかりませんが、うまくいきました。