2

我在 OpenShift 中有 2 个齿轮配置如下:

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

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

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

安装/模型/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?

任何帮助是极大的赞赏!

4

2 回答 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/port 可以从你所有的缩放齿轮访问。

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

此外,如果你想运行 phpMyAdmin,你可以自己上传它和你的其他应用程序代码(通过把它放在 git 中)并使用 MySQL 环境变量配置它,它可以在扩展环境中正常工作,它只是 phpMyAdmin墨盒不起作用。

于 2013-11-28T05:29:10.527 回答
0

我使用以下技巧:

创建一个数据库 -> 连接到它(这里我们得到错误) -> 删除刚刚创建的数据库。

现在重新连接,我们将看到 No data exits 并且我们的配置页面建议使用名称创建新数据库。成功!

于 2020-09-21T04:43:20.320 回答