2016-04-25 8 views
0

私はAWSからGCEへのシステム移行に問題があることに少し不満を持っています。ubuntuでGCEインスタンスのPHPを使ってmysql dbに接続できない

私はec-2インスタンスをamazon Webサービス上で実行しており、完全に動作し構成されています。

問題はGoogleがスタートアップの特別プランに100.000ドルのクレジットを提供しているということです。私の会社のCEOはマイグレーションを求めるので、ここにいます。

ubuntu 14.04 LTSのインスタンスではすべて実行しており、ほぼ完全に設定していますが、私はMysql dbに接続するなどの単純なタスクを達成できないため、ほとんど言っています。

まず、私はリモートサーバーでこの問題を抱えていますが、私はローカルで数百回、そしてもちろんawsでテストしました。それは、生産状態に現在あるので、私は問題が何であるか、または場所を正確見当もつかない

マイGCEの設定:。

OS:Ubun TU 14.04 LTS HHD:30ギガバイト持続SSDディスク CPU:2X RAM:7.5 GB ゾーン:ヨーロッパ-west1-C 静的IP

だから、私は、魔法のようにすべての作品をランプとphpMyAdminのインストール。リモートクライアントからMysql dbへのルートアクセスを無効にし、phpとapacheモジュールを設定しました。

Webアプリケーションは、PHP(Slim)に基づいたRest Apiで、今述べたようにAWSで作業しています。

dbからデータを取得する必要のないエンドポイントを呼び出すと、正常に動作します。エンドポイントがdbにアクセスしようとしたときに問題が発生します。その場合、リクエストは応答しません。リクエストを中止するまで、ロードは永久に続きます。 phpmyadminを使ってすべてのデータを操作することができます。これは、mysqliと同じようにdbにアクセスします。

ログを確認しても、何も印刷されません。 「locahost」ホストパラメータを変更した場合にのみ、「XXX.XXX.XXX.XXX上のNo mysql db」(IP)というログが出力されます。

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

は、すべてのヘルプは大歓迎です!

答えて

0

my.cnf MySQL設定ファイルのbind-addressパラメータを変更しましたか?これは私を数回捉えました。 Ubuntu 14.04のデフォルトでMySQLはlocalhostだけをリッスンし、リモート接続は無視します。

また、この質問への答えをチェックアウトし、それは同様にあなたにいくつかの助けを与えるかもしれない:Remote Connections Mysql Ubuntu - bind address failed

+0

私はそれを言及するのを忘れ、私はまた、IPをバインドしようとしました。結果は似ています:localhostの場合、決して応答が来るのを待っています。my.cnfファイルのバインドされたIPを介してアクセスしようとすると、同じ結果が返されます。私はIPをバインド解除すると例外を返します "アドレスXXX.XXXのNo db ........."ありがとうとにかく;-) – SvOzMaS

+0

ファイアウォールがサーバーへの接続をブロックしていない場合は、 ufwやiptablesなど? https://help.ubuntu.com/12.04/serverguide/firewall.html – ironpilot

関連する問題