无法使用ubuntu

时间:2016-04-25 11:42:36

标签: php mysql apache ubuntu google-compute-engine

我对从AWS到GCE的系统迁移中遇到的问题感到有点沮丧。

我在亚马逊网络服务上运行的ec-2实例,完美地工作和配置。

问题是谷歌在Startups的特别计划中提供了100,000美元的信用额度,我公司的首席执行官要求迁移,所以我在这里。

我已经在ubuntu 14.04 LTS实例中运行并且几乎完全配置了,我几乎说,因为我无法实现一个简单的任务,例如连接到Mysql db :(,我认为我'我在某个地方遗漏了一些东西而且我的思绪变得模糊,所以我需要你的帮助。

首先,我只是在远程服务器上遇到这个问题,我在本地测试了一百次,当然还有aws,它目前处于生产状态,所以我不知道是什么或问题究竟在哪里。

我的GCE配置:

操作系统:Ubuntu 14.04 LTS HHD:30GB持久性ssd磁盘 CPU:2x RAM:7,5 GB 区域:europe-west1-c 静态IP

所以,我安装了Lamp和phpmyadmin,一切都像魅力一样。我禁止从远程客户端访问Mysql db,配置php和apache模块。

Web应用程序是基于PHP(Slim)的Rest Api,就像我刚才说的那样,现在正在使用AWS。

当我调用并且端点不需要从数据库中检索任何数据时,它运行良好,当端点调用尝试访问数据库时出现问题。在这种情况下,请求永远不会响应,它会一直加载,直到我中止请求。这有点奇怪,因为我可以通过phpmyadmin操作所有数据,phpmyadmin以与mysqli相同的方式访问数据库。

如果我检查了日志,则不会打印任何内容。只有当我改变" locahost"主机参数,它打印一个日志说:" XXX.XXX.XXX.XXX"(IP)上没有mysql数据库。

config.php文件

define('DB_USERNAME', 'user');
define('DB_PASSWORD', 'pass'); 
define('DB_HOST', 'localhost'); 
define('DB_NAME', 'db_name'); 

DbConnect.php

function connect() {
    include_once dirname(__FILE__) . '/Config.php';

    // Connecting to mysql database
    $this->conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);

    // Check for database connection error
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    /* change character set to utf8 */
    if (!$this->conn->set_charset("utf8")) {
        echo "Error loading character set utf8: " . $this->conn->error;
    } 

    // returing connection resource
    return $this->conn;
}

loops forever img

Expected Response img

欢迎任何帮助!

1 个答案:

答案 0 :(得分:0)

您是否更改了my.cnf MySQL配置文件中的bind-address参数?这抓住了我几次。默认情况下,Ubuntu 14.04中的MySQL只会侦听localhost并忽略远程连接。

此外,请查看此问题的答案,它也可能会为您提供一些帮助:Remote Connections Mysql Ubuntu - bind address failed