gpt4 book ai didi

php - codeigniter 应用程序的 localhost 数据库主机名

转载 作者:行者123 更新时间:2023-11-29 08:27:16 25 4
gpt4 key购买 nike

我是一名 Rails 开发人员,与一位客户合作,该客户绝对要求我修复他们旧的 Codeigniter 站点,然后将其移植到 Rails 中(不要问为什么,这是一个完全不同的问题)。不管怎样,他们的database.php 文件中似乎列出了两个数据库,其中一个指向我可以通过godaddy 访问的MySQL 数据库,没问题。另一个具有所有功能(读取、写入编辑等),具有本地主机名。他们的 godaddy 帐户中没有第二个数据库的表或数据库名称记录,他们无法联系编写此应用程序或任何文档的开发人员。巧合的是,这就是我需要修改的数据库,以及移植到新的 Rails 应用程序。我是不是完全错过了一些明显的东西?

$active_group = "default";
$active_record = TRUE;
$db['default']['hostname'] = "hostedresource.com";
$db['default']['username'] = "uname";
$db['default']['password'] = "pword";
$db['default']['database'] = "database";
$db['default']['dbdriver'] = "mysqli";
$db['default']['dbprefix'] = "";
$db['default']['active_r'] = TRUE;
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

// Admin group (for adding and deleting articles)
$db['admin']['hostname'] = "localhost";
$db['admin']['username'] = "username";
$db['admin']['password'] = "password";
$db['admin']['database'] = "other_database";
$db['admin']['dbdriver'] = "mysql";
$db['admin']['dbprefix'] = "";
$db['admin']['active_r'] = TRUE;
$db['admin']['pconnect'] = TRUE;
$db['admin']['db_debug'] = TRUE;
$db['admin']['cache_on'] = FALSE;
$db['admin']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

这是任务文件之一中的 mysql_connect 调用

$conn = mysql_connect("localhost", "username", "password"); mysql_select_db("other_database");

最佳答案

godaddy 托管该网站吗?我猜不会,因为我知道 godaddy 将所有 Web 和 mysql 托管分开。

我遇到过类似的情况,我正在访问一个旧的 go-daddy sql 数据库,但也使用一个新的数据库(它是我从 hostgator 使用的虚拟机的本地数据库),基本上与上面的代码相同(除了我像你应该的那样使用了新的 mysqli 扩展)

本例中的 localhost 意味着数据库位于运行 PHP 的同一台计算机上。所以localhost 数据库应该位于运行 Web 服务器的机器上如果您可以通过 SSH 访问您的服务器,您应该能够从 shell 运行 mysql 并获取您需要的信息。

您也可以尝试 yoururl/phpmyadmin ...很多服务器都预装了它...

现在,我只希望你有凭据:-p

=======

现在你已经得到

#2013 - Lost connection to MySQL server at 'reading initial communication packet', system error: 110

通常这意味着您的本地 IP(您的计算机)不在 PHPmyadmin 的访问控制列表中。

如果您的主机有控制面板,您应该能够将您的 IP 地址添加到 phpmyadmin 设置中的“允许的主机”部分(大多数控制面板(如 cpanel)都有此功能)。

试试 yoururl/cpanel 或 yoururl:2083 也许我们会幸运

如果没有,您需要找到 phpmyadmin ini 文件,在我的服务器上它位于/etc/httpd/conf.d/phpMyAdmin.conf 但这取决于您的设置。

在ini文件中

#obviously the path is dependent on your setup

<Directory "/usr/share/phpMyAdmin">
Options FollowSymLinks
AllowOverride None
Order allow,deny
#put your ip address here
Allow from 111.111.111.111
</Directory>

关于php - codeigniter 应用程序的 localhost 数据库主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com