我已经将我的网站上传到服务器,然后我试图访问,但代码点火器返回给我的错误,我没有找到任何答案,为什么会发生这种情况?
我的配置数据库设置如下:
$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 :(得分:2)
使用AWS RDS MySQL,我遇到同样的问题。看了各种各样的消息来源,但截至本帖,几乎都缺乏答案。 虽然this answer帮助了我,但请记住更新服务器上的主机名。访问您的SSH并按照以下步骤操作:
cd /etc/
sudo nano hosts
现在,在此处附加您的主机名:例如:
127.0.0.1 localhost
127.0.0.1 subdomain.domain.com [if cname redirected to endpoints]
127.0.0.1 xxxxxxxx.xxxx.xxxxx.rds.amazonaws.com [Endpoints]
现在,按如下方式配置config/database.php
:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '35.150.12.345',
'username' => 'user-name-here',
'password' => 'password-here',
'database' => 'database-name-here',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
其中35.150.12.345
是您的 IPv4公共IP ,位于ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public
IP('35 .150.12.345')。
注意:请注意,只有IPV4才能使用'hostname'选项。 hostname,cname,domains将输出数据库连接错误。
答案 1 :(得分:2)
我遇到了这个错误
mysqli :: real_connect():(HY000 / 2002):没有这样的文件或目录
在Mac Mojave上运行的PhpMyAdmin中,在Mac上也运行MySQL服务器。
通过编辑PhpMyAdmin/config.inc.php
并更改了该行来解决:
$cfg['Servers'][$i]['host'] = 'localhost';
到
$cfg['Servers'][$i]['host'] = '127.0.0.1';
答案 2 :(得分:2)
在 phpmyadmin 版本 5.1.0 所有语言中,配置。文件位于libraries/config.default.php
进行以下更改:
$cfg['Servers'][$i]['host'] = 'localhost';
到
$cfg['Servers'][$i]['host'] = '127.0.0.1';
答案 3 :(得分:0)
我有同样的问题。我使用的是/ etc / hosts文件中定义的主机:
127.0.0.1 test.localhost
并使用教程中的网址http://test.localhost/index.php/news/view进行连接。我收到了这个错误,只修改了一行:
'主机名' => '本地主机',
为:
'主机名' => ' test.localhost',
答案 4 :(得分:0)
我建议您启用并查看详细的php_errors.log
检查在php.ini中使用session.save_path指定的目录是否存在且是否可写。您可以使用phpinfo()来显示实际的session.save_path。
创建指定为session.save_path的缺少的“phptmp”目录为我解决了这个问题。
答案 5 :(得分:0)
我遇到了同样的问题,就我而言,该网站长期运行良好。由于这里有很多答案是关于首次安装和使用的,所以我决定针对已经运行了一段时间的系统解决相同的问题,然后突然给出此错误。
首先,我认为了解该问题很重要。据我所知(并且我可能是错的),如果驱动程序无法保护与数据库的连接,则会出现此问题。这可能是由许多原因引起的,包括数据库因任何问题或维护而关闭。
就我而言,问题是由于我在MySQL更新期间访问网站而引起的(软件更新程序在后台更新MySQL组件中运行)。因此,我必须等待更新完成,然后网站才能重新启动并正常运行。
所以也要记住这方面。
答案 6 :(得分:0)
也有这个问题。唯一对我有帮助的解决方案-首先通过“ service mysql stop”命令停止mysql服务器,然后再次运行start lampp:“ sudo / opt / lampp / lampp start”。
答案 7 :(得分:0)
没有其他答案对我有用。我在Mac OS 10.14.6上安装了MySQL 8.0.22,可以从命令行正常工作。但是,在升级MySQL时,我选择了更强的密码加密。这是问题所在,而不是localhost配置。 config.inc.php可以指向“ localhost”或“ 127.0.0.1”。一旦我运行了phpMyAdmin,我就同时使用了这两个方法。
解决此问题的方法(对我而言)是单击Mac系统首选项,然后选择MySQL。单击“初始化数据库”,然后切换到“旧版密码加密”。重新启动,一切正常。 MySQL重新启动,位于http:// localhost / phpmyadmin的phpMyAdmin让我没有问题。
一旦我确定我不会愚蠢的事情,我就在等待将Mac升级到OS 15。