【问题标题】:codeigniter 3 database connection with third party Databasecodeigniter 3 与第三方数据库的数据库连接
【发布时间】:2016-02-07 16:03:23
【问题描述】:

我正在尝试使用 codeigniter 3 连接数据库,但我遇到了这个问题,请大家帮忙。

遇到 PHP 错误 严重性:警告消息: mysqli::real_connect(): (HY000/2005): 未知的 MySQL 服务器主机 'pd8344-001.privatesql' (2) 文件名:mysqli/mysqli_driver.php 行 编号:202 回溯:文件:/var/www/html/importdb/index.php 行: 292 函数:require_once

发生数据库错误无法连接到您的数据库服务器 使用提供的设置。文件名:core/CodeIgniter.php 行 数量:500

这是我在配置文件中的 db 设置。

$db['default'] = array(
'dsn'   => '',
'hostname' => 'pd8344-001.privatesql',
'port'     => '3306',
'username' => '****',
'password' => '****',
'database' => 'db_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,//(ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

【问题讨论】:

  • 您的主机名应该是IP地址或域名或本地主机。
  • 您好,感谢您的回复。一件事我的客户只从托管服务提供商那里获得 phpmyadmin 所以需要 ip ,域名或服务器名称将像主机名一样工作?
  • 当您登录 phpadmin 时,在顶部或最终在根/主页面右侧的某处应该是服务器名称。数据库服务器通常与文件所在的服务器位于同一台服务器上,因此可以使用localhost
  • 还有一些IP吗?
  • 最好的方法是请求支持提供的服务(MySQL DB),因为没有这些信息,您将无法连接到 DB。

标签: php database codeigniter mysqli codeigniter-3


【解决方案1】:

将数据库配置文件中的主机名设置为数据库服务器的实际主机名,然后它应该可以按预期工作。

有效的主机名可以是域或 IP。例如,我希望看到的不是pd8344-001.privatesql,而是更像pd8344-001.privatesql.com

如果您在查找主机名时遇到问题,并且您的主机提供了 phpMyAdmin 界面,请登录您的 phpMyAdmin 帐户并复制当前 URL,并删除(包括)“/phpMyAdmin”之后的所有内容。

例如

pd8344-001.privatesql.com/phpMyAdmin?sess=213123123123&stuff=21314123123&more=sadhfasdjhgfasd

你应该得到

pd8344-001.privatesql.com

【讨论】:

  • 是的,我做到了,但现在我遇到了这个问题“无法使用提供的设置连接到您的数据库服务器。文件名:core/Loader.php 行号:347”
  • 联系您的主机并询问您的数据库主机名是什么
  • 能否请您确定是主机问题,以便我可以与他讨论?
  • 不是主机问题。问题是您没有正确的数据库服务器主机名。这就像试图访问一个没有域名的网站
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-28
  • 1970-01-01
  • 2019-01-07
  • 2018-02-09
  • 2021-06-16
相关资源
最近更新 更多