
localhost
PHPがホストに接続できない理由を理解するのが困難です。次の手順で接続できます。
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/
。