获取错误mysqli :: real_connect():( HY000/2002):当我尝试在实时服务器上访问我的项目时,没有这样的文件或目录

Wil*_*iam 4 php mysqli 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,
);
Run Code Online (Sandbox Code Playgroud)

Sub*_*der 22

MySQL连接驱动程序在localhost的位置没有获得任何有意义的服务器.所以使用,

'hostname' => '127.0.0.1' 
Run Code Online (Sandbox Code Playgroud)

而不是

'hostname' => 'localhost'
Run Code Online (Sandbox Code Playgroud)

  • 伟大的!没有人考虑这一点。 (4认同)
  • 发生这种情况是因为指定“localhost”将使连接通过 MySQL 套接字而不是 TCP 打开,并且错误告诉您未找到套接字文件。 (2认同)

Mic*_*ski 8

我有这个错误

mysqli::real_connect(): (HY000/2002): 没有那个文件或目录

来自在我的 Mac Mojave 上运行的 PhpMyAdmin,MySQL 服务器也在我的 Mac 上运行。

通过编辑PhpMyAdmin/config.inc.php和更改行来修复它:

$cfg['Servers'][$i]['host'] = 'localhost';
Run Code Online (Sandbox Code Playgroud)

$cfg['Servers'][$i]['host'] = '127.0.0.1';
Run Code Online (Sandbox Code Playgroud)


小智 7

在 phpmyadmin 版本 5.1.0 中,所有语言、配置。文件位于libraries/config.default.php

进行以下更改:

$cfg['Servers'][$i]['host'] = 'localhost';
Run Code Online (Sandbox Code Playgroud)

$cfg['Servers'][$i]['host'] = '127.0.0.1';
Run Code Online (Sandbox Code Playgroud)