MacにVanillaフォーラムをインストールしようとしています。このために、mysqlコマンドラインからデータベースとユーザーを作成しました。
_mysql> CREATE DATABASE Vanilla;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'Vanilla_user3'@'localhost' IDENTIFIED BY 'Vanilla_password';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON * . * TO 'Vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
_
だから私は次のコードを使用して接続しようとします:
_$con=mysqli_connect("localhost","Vanilla_user3","Vanilla_password","Vanilla");
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
_
しかし、残念ながらWarning: mysqli_connect(): (HY000/2002): No such file or directory in /Users/kramer65/Sites/Vanilla/info.php on line 3 Failed to connect to MySQL: No such file or directory
というエラーが表示されます
私が間違っている場所は何ですか?
さて、解決策を見つけました。問題は、ホストがlocalhost
ではなく、127.0.0.1
。私はいつもlocalhost
と127.0.0.1
は同じでしたが、異なることが判明しました。
したがって、将来のユーザーへのヒントとして、疑わしい場合は常にIPを使用してください。
みなさん、素敵な一日を!
私は同じ問題を抱えていましたが、問題はphp.ini
ファイルに関連するものでした。
/etc/php.ini
(またはphp.ini
が配置されている場所)で次の2行を編集する必要がありました。
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Apacheサーバーを再起動して、変更が反映されていることを確認します。
Sudo apachectl restart
MAMP MySQLポートがデフォルトの8889に設定されているとしましょう。場合によってはlocalhost
だけでは不十分で、その場合はMySQLポートもそこに配置する必要があるため、_localhost:8889
_または_localhost:{whatever your MySQL port number is}
_を実行します。私はまだMySQLが初めてなので、その理由はわかりませんが、最近メッセージを受け取った誰でも:Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in ...
localhostにMySQLポート番号を追加することは私にとっての修正でした。