操作系统: Ubuntu 14.04 LTS
php版本控制: phpbrew
php版本: 5.5.10
我ping了localhost,它解析为127.0.0.1.
这表明我的主机(/ etc/hosts)文件是正确的.
127.0.0.1 localhost
每当我尝试使用像下面的PHP脚本连接到MySQL时它不起作用并给我错误:没有这样的目录.
//connect to the database mysql_connect("localhost","root","password") or die(mysql_error());
但是,当我通过127.0.0.1连接时,它将工作
//connect to the database mysql_connect("127.0.0.1","root","password") or die(mysql_error());
另外,使用"localhost"登录时我的phpmyadmin不起作用我必须在登录时更改文件以添加127.0.0.1选项.
如何使用localhost连接MySQL数据库?
PHP仍在尝试使用默认套接字位置。如果您已将MariaDB / MySQL文件夹从/ var / lib / mysql移至另一个位置,则可能出现此问题。为了解决该问题,您必须在/etc/php.ini文件中定义新套接字的位置。
mysqli.default_socket =/newDBLocation/mysql/mysql.sock
注意,根据您使用的驱动程序,您可能必须指定pdo_mysql.default_socket =!
为了检查您的当前目录,请在mysql中运行以下命令:
select @@datadir;