0

我正在尝试使用 MySQL 连接详细信息在服务器上安装 Silverstripe,如下所示:

主机名localhost:/tmp/mysql5.sock

套接字/tmp/mysql5.sock

在数据库服务器的安装表单中输入这些地址之一会在提交 localhost:/tmp/mysql5.sock 时出现以下错误:

I couldn't find a database server on 'localhost:/tmp/mysql5.sock': Connection refused"

或 /tmp/mysql5.sock

I couldn't find a database server on '/tmp/mysql5.sock': php_network_getaddresses: getaddrinfo failed: Name or service not known

并且只是 localhost 显示此错误:

I couldn't find a database server on 'localhost': Connecting to 3.22, 3.23 & 4.0 servers is not supported

谢谢,弗洛里安

4

3 回答 3

1

基本上,服务器设置有问题:

这是我添加的内容_config.php

ini_set('mysqli.default_socket', '/tmp/mysql5.sock');

然后数据库连接看起来像这样:

$databaseConfig = array(
    "type" => 'MySQLDatabase',
    "server" => 'localhost',
    "username" => 'myusername',
    "password" => 'mypassword',
    "database" => 'mydb',
    "path" => '/tmp/mysql5.sock',
);
于 2012-11-21T07:55:53.063 回答
0

我从未尝试过以这种方式连接到 mysql 服务器。但也许安装程序无法识别这样的主机名,您可以尝试手动编写 _config.php 文件,然后运行 ​​/dev/build,也许可以。

关于:

I couldn't find a database server on 'localhost': Connecting to 3.22, 3.23 & 4.0 servers is not supported

SilverStripe 需要 mysql 数据库版本 5,会不会是你的 mysql 服务器没有更新?

于 2012-10-30T17:06:13.510 回答
0

在 Mac(Mountain Lion)上设置 SilverStripe 和 MariaDB 时,只需将其放入 _ss_environment.php 文件中:

define('SS_DATABASE_SERVER', 'localhost:/opt/local/var/run/mariadb/mysqld.sock');

没有必要更改“mysqli.default_socket”的值。

于 2012-12-21T18:58:40.437 回答