【问题标题】:database connection with OPENSHIFT使用 OPENSHIFT 连接数据库
【发布时间】:2014-04-12 13:22:53
【问题描述】:

我尝试在 OPENSHIFT 中使用我的 php 脚本连接 phpmyadmin 数据库
i am using sftp to upload file in openshift
这样做是为了连接

index.php

<?php 
 try {
                require_once 'conf.php';
                $conn = mysqlConnector();
                $stmt = $conn->prepare('SELECT * FROM demo');
                $stmt->execute();

                while($row = $stmt->fetch()) {
                        print_r($row);          
                }


        } catch(PDOException $e) {
                echo 'ERROR: ' . $e->getMessage();
        }

?>

conf.php

<?php
define('DB_HOST', getenv('127.*.**.*'));
define('DB_PORT',getenv('****')); 
define('DB_USER',getenv('admin4*****'));
define('DB_PASS',getenv('databasePassword'));
define('DB_NAME',getenv('ssh://5348030a***************@landbayscaling-innovifytest.rhcloud.com/~/git/landbayscaling.git/'));

function mysqlConnector(){
    $dsn = 'mysql:dbname='.DB_BASE.';host='.DB_HOST.';port='.DB_PORT;
    $dbh = new PDO($dsn, DB_USER, DB_PASS);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $dbh;
    }
?>

Url Of Opensift

错误是这样的:-

错误:SQLSTATE[HY000] [2002] 无法通过套接字 '/var/lib/mysql/mysql.sock' 连接到本地 MySQL 服务器 (2)

【问题讨论】:

  • 您找到解决方案了吗?

标签: php mysql database openshift


【解决方案1】:

DB_NAME 不正确,您应该使用您的应用名称,另外,您为什么使用 getenv 中的值?您应该使用环境变量的名称,例如 getenv('OPENSHIFT_MYSQL_DB_HOST')

【讨论】:

    猜你喜欢
    • 2016-04-05
    • 2014-05-26
    • 2013-03-05
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多