[英]how to connect to the database in openshift application
我做了如下
添加了MySQL 5.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憑據相同。
phpMyAdmin 3.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_ *是env變量,需要通過getenv php函數獲取。
請嘗試以下方法:
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);
從webconsole打開php myadmin,在左下角你會得到一些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安裝部署到Open Shift(OS)並嘗試配置MySql。 我通過SSH(rhc ssh)連接到操作系統,轉到app-root / data / sites / default。 下面的cat settings.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/';
所以我在git倉庫中創建了一個php文件夾(參見關於Drupal的操作系統文檔),將干凈的Drupal安裝復制到它並將上面的代碼粘貼到settings.php。 推送到git后,重啟OS應用程序並開始工作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.