【问题标题】:How to remotely connect to OpenShift MySQL database using PHP?如何使用 PHP 远程连接到 OpenShift MySQL 数据库?
【发布时间】:2016-07-13 06:21:42
【问题描述】:

我有一个在Openshift 服务器上运行的Tomcat 7 应用程序,比如myapp。 我还安装了MySQL 5.5 墨盒,并分别获得了用户名和密码myUsernamemyPassword

我尝试通过从我的 php localhost 编写一个简单的 PHP 脚本来远程连接到数据库。

<?php

$link = mysql_connect('127.8.217.2:3306', 'myUsername', 'myPassword');

if (!$link) {
    die('Could not connect: ' . mysql_error());
}

echo 'Connected successfully';

mysql_select_db('myapp',$link) or die ("could not open db".mysql_error());

但输出显示

Could not connect: Access denied for user 'myUsername'@'localhost' (using password: YES)

我不知道我错过了什么。

现在是问题部分。

1) 是否可以使用 PHP 从localhost 或其他服务器远程连接到OpenShift MySQL database?如果是,如何?

如果有任何问题,请将其射入 cmets。

编辑

我在this 线程的帮助下查看了port-forwarding。但这不是我想要的。

【问题讨论】:

  • 虽然我真的不明白为什么你甚至想从 php 本地连接。您有一个在 openshift 上运行 Tomcat 7 的应用程序,那么与本地 PHP 有什么关系呢?无缘无故地允许远程数据库访问通常不是一个好主意。
  • @eis 我真的不想从 localhost 连接到数据库,而是从托管在不同服务器中的 PHP 脚本连接到数据库。
  • 但是为什么呢?为什么不像通常那样在 JBoss 应用程序中使用 REST API 或类似的东西并连接到该应用程序?直接远程连接到数据库存在安全风险。
  • @eis stackoverflow.com/questions/28523566/…(这听起来与我的问题相似,但这是一个未解决的问题)。

标签: php mysql openshift openshift-cartridge


【解决方案1】:

根据您的解释,需要 Java 和 PHP 应用程序需要连接到同一台服务器,您的选择是要么

1) 进行端口转发或通过 SSH 连接,两者都在 this link I offered as a duplicate of this 中进行了说明,或者

2) 尝试使用 explained herehere 使用可扩展的应用程序创建共享数据库 - 然而,其他类似线程中的人,如 this one,声称它是“用于 Openshift/Redhat 互联网环境,不适用于 Openshift 的老客户”(source)。不知道是不是这样,但至少如果你走这条路,你应该从另一个 openshift 齿轮测试,而不是从本地计算机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2011-01-20
    • 2014-08-26
    相关资源
    最近更新 更多