私は次のようにしました
MySQL5.1データベースが追加されました。これらの資格情報をメモしてください。
Root User: xxxxxxx
Root Password: xxxxxxx
Database Name: php
Connection URL: mysql://$OPENSHIFT_MYSQL_DB_Host:$OPENSHIFT_MYSQL_DB_PORT/
Phpmyadmin-3.4を埋め込むことで、新しいMySQLデータベースを管理できます。 phpmyadminのユーザー名とパスワードは、上記のMySQL認証情報と同じになります。
phpMyAdmin3.4が追加されました。これらのMySQL資格情報をもう一度メモしてください。
Root User: xxxxxxx
Root Password: xxxxxxx
URL: https://php-doers.rhcloud.com/phpmyadmin/
以下のPDOコードを使用してデータベースに接続しようとしましたが、機能しません
$dbh = new PDO('mysql:Host=mysql://$OPENSHIFT_MYSQL_DB_Host:$OPENSHIFT_MYSQL_DB_PORT/;dbname=php', "xxxxxx, "xxxxxx");
接続URLの意味がわかりませんか?
接続文字列にエラーがあり、$ OPENSHIFT_MYSQL_DB_ *は環境変数であり、getenvphp関数を介してフェッチする必要があります。
したがって、次のことを試してください。
define('DB_Host', getenv('OPENSHIFT_MYSQL_DB_Host'));
define('DB_PORT',getenv('OPENSHIFT_MYSQL_DB_PORT'));
define('DB_USER',getenv('OPENSHIFT_MYSQL_DB_USERNAME'));
define('DB_PASS',getenv('OPENSHIFT_MYSQL_DB_PASSWORD'));
define('DB_NAME',getenv('OPENSHIFT_GEAR_NAME'));
$dsn = 'mysql:dbname='.DB_NAME.';Host='.DB_Host.';port='.DB_PORT;
$dbh = new PDO($dsn, DB_USER, DB_PASS);
Webコンソールからphpmyadminを開くと、左隅にIPが表示されます。
これはxx.xx.xx.xx:3306のようなものなので、ホスト名はxx.xx.xx.xxです。
IPアドレスは機能します、私は私のために試し、働いてきました
以下のコードは私のために働いた、これを試してみてくださいそれはあなたを助けるかもしれません
var mysql = require('mysql');
var mysql = require('mysql');
exports.pool = mysql.createPool({
Host: process.env.OPENSHIFT_MYSQL_DB_Host || 'localhost',
port: process.env.OPENSHIFT_MYSQL_DB_PORT || '3306',
user: process.env.OPENSHIFT_MYSQL_DB_USERNAME || 'root',
password: process.env.OPENSHIFT_MYSQL_DB_PASSWORD || '',
database: 'chichat' || 'chichat',
multipleStatements : true,
charset: 'utf8'
});
今後の参考のために情報を追加したいと思います。今日、私はDrupalインストールをOpenShift(OS)にデプロイし、MySqlを構成しようとしています。SSH(rhc ssh)経由でOSに接続し、app-root/data/sitesに移動しました/default。catsettings.phpに従って、OSがデータベースを構成する方法を確認します。これは次のとおりです。
// When run from Drush, only $_ENV is available. Might be a bug
if (array_key_exists('OPENSHIFT_APP_NAME', $_SERVER)) {
$src = $_SERVER;
} else {
$src = $_ENV;
}
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => $src['OPENSHIFT_APP_NAME'],
'username' => $src['OPENSHIFT_MYSQL_DB_USERNAME'],
'password' => $src['OPENSHIFT_MYSQL_DB_PASSWORD'],
'Host' => $src['OPENSHIFT_MYSQL_DB_Host'],
'port' => $src['OPENSHIFT_MYSQL_DB_PORT'],
'driver' => 'mysql',
'prefix' => '',
),
),
);
$conf['file_private_path'] = $src['OPENSHIFT_DATA_DIR'] . 'private/';
$conf['file_temporary_path'] = $src['OPENSHIFT_TMP_DIR'] . 'drupal/';
そこで、phpフォルダーをgitリポジトリーに作成し(Drupalに関するOSドキュメントを参照)、クリーンなDrupalインストールして上記のコードをsettings.phpに貼り付けます。gitにプッシュした後、OSアプリを再起動しました。そして働いた!