gpt4 book ai didi

php - MariaDB 使用错误的主机,无法连接 php 应用程序

转载 作者:行者123 更新时间:2023-11-29 10:39:04 30 4
gpt4 key购买 nike

我已经在我的 Macbook pro OSX Sierra 上使用 Homebrew 安装了 MariaDB v10.2.8,安装顺利,服务在端口 3816 上启动,我可以通过命令行连接数据库并与之交互: Screenshot Command Line

我有 Sequel Pro,它与 MAMP Pro 一起提供(我已经在端口 3306 上安装并运行了 MySQL 5.6.35 的副本)。根据此屏幕截图,这只允许我通过套接字连接到该数据库,显然是在端口 3306 上: Screenshot SequelPro

现在我尝试将 PHP (Codeigniter) 应用程序连接到该数据库,但没有任何效果,我收到“无法使用提供的设置连接到您的数据库服务器。”

这是 Codeigniter 设置

$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'user';
$db['default']['password'] = '123';
$db['default']['port'] = 3816;
$db['default']['database'] = 'dbname';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = FALSE;
$db['default']['stricton'] = FALSE;

有什么想法可能是错误的以及如何修复它吗?

最佳答案

问题是 MAMP Pro,以及 mysql.default_socket 的路径:

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock

我将该值留空,重新启动服务器,它就工作了。

详细说明:经过大量时间和阅读后,我注意到如果“标准”连接带有错误消息,Sequel Pro 不允许我使用 localhost 作为主机“您已输入‘localhost’进行非套接字连接。[通过套接字连接][使用 127.0.0.1]”。

尝试了 IP、套接字并首先尝试使用与包含 MariaDB 设置的 my.cfn.default 文件中相同的路径,但失败了,所以我留下了字段为空并且有效。

一篇在线帖子指出了 php.ini 文件如何包含 mysql 套接字的路径,我去发现它们指向它的 MAMP 特定版本,所以我删除了注释中提到的值,如果为空则使用构建的值-在

这意味着使用此特定版本的 PHP + 常规 MySQL 的其他虚拟主机可能无法工作,但至少我知道在哪里修复它。

关于php - MariaDB 使用错误的主机,无法连接 php 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872427/

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