unix - Codeigniter DB 设置 - 为什么 127.0.0.1 有效,而 localhost 无效

标签 unix codeigniter tcp

在我的 Unix Web 服务器上,我运行着两个 MySQL 数据库服务器。一个在3306端口,另一个在3307端口。我想在codeigniter的/config/database.php中指定要连接的数据库端口号。

我尝试过这个......

$database['hostname'] = "localhost:3307";

这不起作用。 Web 应用程序通过端口 3306 连接到数据库。

然后我尝试了这个......

$database['hostname'] = "127.0.0.1:3307";

这有效。 Web 应用程序已通过端口 3307 连接到数据库。

不明白为什么?有人可以解释一下吗? 我认为这不是 codeigniter 的特定问题,尽管有标题。

问候

最佳答案

我猜 localhost 对 IPv6 也有效,但 127.0.0.1 无疑是一个 IPv4 地址,因此它可能会给你的机器带来一些麻烦。

我遇到过几次这样的情况。 (FireFox 因在 localhost:8000 上速度缓慢而臭名昭著,但在使用 Django 开发时在 127.0.0.1:8000 上速度很快)

关于unix - Codeigniter DB 设置 - 为什么 127.0.0.1 有效,而 localhost 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3492136/

相关文章:

linux - 如何遍历多个文件以提取特定列并另存为单独的文件?

c - 在C中使用系统调用执行 "which"命令

php - Codeigniter 分页 - 我很难过

codeigniter - 使用关联数组的多个 LIKE db 查询 - 但都来自相同的列名......?

C# 异步套接字 : How much data does the Socket store when the call to BeginReceive is delayed?

c# - 在 socket.connectAsync 中捕获 SocketException

c - 不明白管道是如何工作的。 (UNIX 进程之间的共享内存)

php - Facebook 登录中重定向 URI 的严格模式

带有 PHP 客户端的 Java TCP 套接字服务器?

c++ - 我如何开始在类 Unix 操作系统(如 Linux)中编写守护进程?