首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDB使用错误的主机,无法连接php应用程序

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

Stack Overflow用户
提问于 2017-08-24 23:39:58
回答 1查看 540关注 0票数 0

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

我还有Sequel Pro,它附带了MAMP (我已经在3306端口上安装并运行了MySQL 5.6.35的副本)。它只允许我通过套接字连接到这个数据库,显然是在端口3306上,根据这个屏幕截图:

现在,我正在尝试将PHP (Codeigniter)应用程序连接到这个数据库,但是没有什么工作,我“无法使用提供的设置连接到您的数据库服务器”。

这是Codeigniter设置

代码语言:javascript
复制
$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;

有什么不对的地方吗?如何解决?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-25 04:17:58

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

代码语言:javascript
复制
; 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‘。通过套接字连接”。

在尝试了IP之后,尝试了套接字,并且首先尝试使用与包含my.cfn.default设置的MariaDB文件中相同的路径,结果失败了,所以我将字段留为空,它工作了。

一篇在线文章指出了php.ini文件是如何包含mysql套接字的路径的,我发现它们指向了mysql的特定版本,所以我删除了注释中提到的值,如果是空的,它使用内置的

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45872427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档