初めて OpenShift を使用しましたが、自分のアカウントで別のアプリケーションのデータベースに接続できることを読みました。
Ruby/MySQL プロジェクトであるアプリケーション A があります。PHPプロジェクトであるAPPLICATION Bがあります。
アプリケーション B の PHP スクリプトからアプリケーション 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
}