第一次使用OpenShift,我读到我可以连接到我帐户下不同应用程序上的数据库。
我有一个应用程序A,它是一个Ruby/MySQL项目。我有一个PHP项目APPLICATION B。
我想从APPLICATION B PHP脚本连接到我的APPLICATION A MySQL数据库。当执行rhc apps
命令时,我可以看到我的连接URL为:
Connection URL: mysql://$OPENSHIFT_MYSQLDB_HOST:$OPENSHIFT_MYSQLDB_PORT
当我在APPLICATION A服务器上查看我的环境变量时,我发现它们是:
OPENSHIFT_MYSQLDB_PORT=3306
OPENSHIFT_MYSQL_HOST=127.7.171.129
但当我尝试连接时:
$db = new mysqli('127.7.171.129', 'adminuser', 'adminpw', 'productiondb',3306);
我扔掉了这个:
object(mysqli)#1 (17) {
["affected_rows"]=>
NULL
["client_info"]=>
NULL
["client_version"]=>
int(50169)
["connect_errno"]=>
int(2005)
["connect_error"]=>
string(57) "Unknown MySQL server host 'http://127.7.171.129' (1)"
["errno"]=>
NULL
["error"]=>
NULL
["field_count"]=>
NULL
["host_info"]=>
NULL
["info"]=>
NULL
["insert_id"]=>
NULL
["server_info"]=>
NULL
["server_version"]=>
NULL
["sqlstate"]=>
NULL
["protocol_version"]=>
NULL
["thread_id"]=>
NULL
["warning_count"]=>
NULL
}
下面是一篇KB文章,其中有几个建议:https://www.openshift.com/kb/kb-e1051-how-do-i-connect-multiple-applications-to-one-database
你能看看是否有用吗?