对于 MySQL/PHP,localhost != localhost

对于 MySQL/PHP,localhost != localhost

系统:Mac OS X Server 10.6.latest

我刚刚从 Mac OS X Server 附带的旧版 MySQL(<5?)切换到通过 MacPorts 安装的 MariaDB 10.1。(这真是一大乐趣……)

现在,我无法通过 localhost 访问数据库,但仅在某些情况下。PhpMyAdmin 仅使用 config.inc.php 中的“localhost”,但我正在运行的几个 MediaWiki 实例需要 LocalSettings.php 中的完整套接字名称,例如“localhost:/opt/local/var/run/mariadb-10.1/mysqld.sock”。

我在 my.cnf 中命名了套接字,并在 php.ini 中的三个位置为三个不同的 MySQL glue 库提供了命名。我重新启动了 Apache 和 mysqld 以让它们读取更改。所以我认为 localhost 现在应该无处不在。

我已经通过在 MediaWiki 站点上将套接字名称放在“localhost”后面来解决这个问题,但我知道如果我不正确地修复它,总有一天它会回来困扰我。

对于这里发生的事情有什么想法吗?

答案1

假设 PhpMyAdmin 和 MediaWiki 都在同一台机器上,并且与 MariaDB 服务器在同一台机器上?如果是这样,如果它们具有相同的设置,那么没有理由其中一个可以工作而另一个不工作。

  • 当两者都指定为时,请确保使用相同的端口localhost

  • 如果您在两个应用程序中没有使用相同的 mysql 用户登录,请确保这些用户的主机值相同。

相关内容