我做了如下
添加了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");
我不知道连接网址是什么意思?
答案 0 :(得分:19)
您的连接字符串中的错误加上$ 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);
答案 1 :(得分:3)
从webconsole打开php myadmin,在左下角你会得到一些ip
就像xx.xx.xx.xx:3306,所以你的主机名是xx.xx.xx.xx
Ip地址将工作,我已经尝试并为我工作
答案 2 :(得分:2)
下面的代码对我有用,试试这可能对你有帮助
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'
});
答案 3 :(得分:0)
我想在将来的参考资料中添加一些信息。 今天我尝试将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应用程序并开始工作!