当我尝试在实时服务器上访问我的项目时,出现错误mysqli::real_connect(): (HY000/2002): No such file or directory。

13 浏览
0 Comments

当我尝试在实时服务器上访问我的项目时,出现错误mysqli::real_connect(): (HY000/2002): No such file or directory。

我将我的网站上传到服务器后尝试访问,但是CodeIgniter返回了一个我找不到答案的错误。为什么会发生这种情况?我的数据库配置如下:

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'netservice',
'password' => '*********',
'database' => 'valedastrutas',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => FALSE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE,
);

0
0 Comments

我在我的Mac Mojave上运行PhpMyAdmin时遇到了这个错误:

mysqli::real_connect(): (HY000/2002): No such file or directory

同时,我的Mac上也运行着MySQL服务器。我通过编辑PhpMyAdmin/config.inc.php文件来解决了这个问题,修改了以下行:

$cfg['Servers'][$i]['host'] = 'localhost';

改为

$cfg['Servers'][$i]['host'] = '127.0.0.1';

0
0 Comments

当我尝试访问我在生产服务器上的项目时,出现了"Getting error mysqli::real_connect(): (HY000/2002): No such file or directory"错误。这个错误出现的原因是MySQL连接驱动在本地主机的位置上找不到任何有意义的服务器。所以,我们应该使用'hostname' => '127.0.0.1'而不是'hostname' => 'localhost'

为什么会发生这种情况呢?很奇怪,没有人会考虑到这个问题。"localhost"指的是一个名称或相同的名称,它指向IP地址127.0.0.1。这个IP地址(127.0.0.1)应该存在于任何能够连接到互联网的计算机上,也就是有局域网连接的计算机。"localhost"指的是本地机器本身。以127.x.x.x开头的任何IP地址都指向本地机器。一些编译器无法解析localhost.yourdomain.com,因为"localhost"和localhost.yourdomain.com并不相同。这就是为什么它可能会引起问题的原因。

这种情况发生是因为指定'localhost'会通过MySQL套接字而不是TCP打开连接,而错误信息告诉你套接字文件找不到。

解决这个问题的方法是将主机名改为'127.0.0.1',以便使用TCP连接而不是套接字连接。这样就能够成功访问生产服务器上的项目了。

0
0 Comments

在phpmyadmin 5.1.0版本中,配置文件位于libraries/config.default.php文件中。解决方法是将配置文件中的"localhost"改为"127.0.0.1"。

0