PHPはMySQLのデフォルトソケットを使用しません。

PHPはMySQLのデフォルトソケットを使用しません。

localhostPHPがホストに接続できない理由を理解するのが困難です。次の手順で接続できます。

mysql -uroot -p

また、Sequel Proを介してlocalhostにホストとして接続できます。しかし、PHPを使用すると、次のような結果が得られます。

Warning: mysqli_connect(): (HY000/2002): No such file or directory

127.0.0.1に変更しようとすると動作するのでソケットのためだと確信しています。

ホストが機能しないのはなぜですか?

ベストアンサー1

PHPはMySQLがリッスンしているソケットとは異なるソケットを使用しようとします。

MySQLがどのソケットを受け取っているかを確認するには、次のようにします。

 mysqld --verbose --help|grep ^socket

socket /var/run/mysqld/mysqld.sock

PHPがどのソケットを使用しようとしているかを見るには、スクリプトの出力を確認してください。<?php phpinfo(); ?>これは可変ですmysqli.default_socket。ファイルでphp.ini(通常)変更できます/etc/php5/apache2/

おすすめ記事