openshift没有工作数据库连接

时间:2014-12-17 18:34:49

标签: php mysql cakephp-2.0 openshift

我在Openshift平台上遇到连接mysql的问题。我有这个网站http://studentinfobook-rrubio.rhcloud.com/显示错误。它是一个非常简单的应用程序,显然无法连接到mysql盒式磁带。但是,如果我尝试在命令行中直接连接到mysql,如:

mysql --user=user_name --password=your_password db_name
然后它连接得非常好。与phpmyadmin相同的连接。你认为它是什么w / cakephp(这个应用程序在本地工作),或者我还需要在openshift中做些什么?

提前致谢...

修改

没有太多的代码要写。这是我在[/ var / lib / openshift / 548f654a4382ec3b58000078 / app-root / repo / app / Config]中的database.php文件:

<?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'));

class DATABASE_CONFIG {

    public $default = array(
            'datasource' => 'Database/Mysql',
            'persistent' => false,
            'host' => DB_HOST,
            'port' => DB_PORT,
            'login' => DB_USER,
            'password' => DB_PASS,
            'database' => DB_NAME,
            'prefix' => ''
            //'encoding' => 'utf8',
    );

正如我所说,这从mysql返回错误:

SQLSTATE[HY000] [2002] No such file or directory

但是从命令行或phpmyadmin连接提供的凭据时完美地工作...

1 个答案:

答案 0 :(得分:0)

该错误消息通常似乎意味着套接字不可用于连接到mysql服务器。您使用的是缩放应用程序吗?如果是这样,那么没有套接字可供使用,因为mysql数据库在另一个齿轮上。以下是目前在openshift上运行的cakephp-example的示例连接文件:https://github.com/openshift/cakephp-example/blob/master/php/app/Config/database.php

您可以查看这是否可以帮助您解决问题。