未找到数据库服务器。请验证登录名、密码和服务器字段

问题描述 投票:0回答:2

我在 OpenShift 中有 2 个档位,配置如下:

  1. 应用程序设备,可扩展,运行 PHP 5.3

  2. 数据库设备,不可扩展,运行 MySQL Database 5.1 和 phpMyAdmin

我正在我的应用程序设备上运行 PrestaShop 的安装代码,但在此代码上失败了:

安装/models/Database.php:

Db::checkConnection($server, $login, $password, $database, true)

返回1。

我是 OpenShift 新手,不确定是否应该使用端口转发等。

我在我的数据库设备上运行

env | grep OPENSHIFT_MYSQL
,得到:

OPENSHIFT_MYSQL_DB_PORT=3306
OPENSHIFT_MYSQL_DB_HOST=127.xx.xx.x
OPENSHIFT_MYSQL_DB_PASSWORD=XXXXXXX
OPENSHIFT_MYSQL_IDENT=redhat:mysql:5.1:0.2.2
OPENSHIFT_MYSQL_DB_USERNAME=XXXXXXX

并将它们放入我的 prestashop 安装配置中,但是,它返回错误并显示

Database Server is not found. Please verify the login, password and server fields (DbPDO)

我还尝试将 MySQL DB 放在相同的齿轮上,在该齿轮上运行

env | grep OPENSHIFT_MYSQL
并填写设置,但它返回相同的错误。

您有从可扩展设备安装和连接 MySql DB 的指南吗?或者从相同的设备连接到 MySQL DB?

非常感谢任何帮助!

php mysql database prestashop openshift
2个回答
0
投票

好吧,我想我知道你在这里做了什么。您是否自己创建了一个单独的设备来运行 MySQL 卡带?如果是这种情况,由于 SELinux 以及保护应用程序不直接相互访问的方式,您将无法从您的 php 缩放齿轮访问它。您应该将 MySQL 数据库添加到现有的可扩展 PHP 应用程序中,它将配备自己的设备,并且您将获得如下的 MYSQL 环境变量来使用:

[phpscaled-cdaley.rhcloud.com 5296d2cc5973cac73800018f]\> env | grep MYSQL
OPENSHIFT_MYSQL_DB_PORT=62551
OPENSHIFT_MYSQL_DB_HOST=5296d32550044690010001c3-cdaley.rhcloud.com
OPENSHIFT_MYSQL_DB_PASSWORD=xxxxxx
OPENSHIFT_MYSQL_DB_GEAR_UUID=5296d32550044690010001c3
OPENSHIFT_MYSQL_DB_USERNAME=xxxxxx
OPENSHIFT_MYSQL_DB_URL=mysql://xxxxxx:xxxxxx@5296d32550044690010001c3-     cdaley.rhcloud.com:62551/
OPENSHIFT_MYSQL_DB_GEAR_DNS=5296d32550044690010001c3-cdaley.rhcloud.com

您可以看到 OPENSHIFT_MYSQL_DB_HOST 不是完全限定的域名,并且端口不再是 3306。您的所有缩放齿轮都可以访问此 URL/端口。

你可以让你的 php 扩展应用程序连接到你自己启动的 MySQL 设备,但你必须使用端口转发,这会变得非常混乱。在扩展的应用程序中,数据库无论如何都会有自己的齿轮。

此外,如果您想运行 phpMyAdmin,您可以自己将其与其他应用程序代码一起上传(通过将其放入 git 中)并使用 MySQL 环境变量对其进行配置,它将在扩展环境中正常工作,这只是phpMyAdmin 墨盒无法工作。


0
投票

我使用以下技巧:

创建数据库 -> 连接到它(这里出现错误) -> 删除刚刚创建的数据库。

现在重新连接,我们将看到没有数据存在,并且我们的配置页面建议使用指定名称创建新数据库。成功了!

© www.soinside.com 2019 - 2024. All rights reserved.