2017-11-15 11 views
1

私は共有ホスティングサーバーからVPSにサーバーを移行している。移行の一環として、サイトとDNSレコードを完全に切り替える前に、現在実行しているサイトを新しいサーバーのデータベースを使用して開始させたいと思っています。PHP MySQLiが外部接続でエラーを出すが、他のソースから接続できる

新しいサーバーにはmysqlが稼働していて、ローカルサーバーとサーバーの両方に接続でき、iMacのSequal Proアプリケーションを使用して外部接続として接続できます。共有ホスティングサーバーでPHPスクリプトで接続するのと同じ詳細を使用すると、私は(2002) Connection refusedDB: 0エラーになります。

PHPスクリプトは

$servername = "SERVERIP"; 
$usernamedb = "USERNAME"; 
$passworddb = "PASSWORD"; 
$dbname = "DBNAME"; 

$conn = new mysqli($servername, $usernamedb, $passworddb, $dbname, 3306); 

if ($conn->connect_errno) { 
    echo "Failed to connect to MySQL: (" . $conn->connect_errno . ") " . $conn->connect_error; 
} 

のように見える私は/var/log/mysql/error.logをチェックしましたし、ログに記録されているすべての問題はありません。 Sequal Proを使用して自宅のインターネット接続から問題なく接続できるので、VPS/MySQL側ではなくPHP接続でなければなりません。サーバがこれらのユーザ名、パスワード、およびdb名の詳細を使って外部ソースからの接続を確実に許可します。 。

共有ホストにデフォルトの設定が異なる場合でも、ポート番号はnew mysqliステートメントに追加されましたが、違いはありません。

+0

SELinux(try 'sestatus')を実行していますか?もしそうなら、 'sudo setenforce 0'を試して一時的に強制を無効にしてください。 – bishop

+0

共有ホストからVPSデータベースへのシェルコマンドラインmysqlを使用して接続を試してください。そのようなエラーメッセージが表示されることがあります。それはまた、PHPを使わずにテストします。 – saswanb

+0

すでにmy.cnfのbind-addressパラメータを0.0.0.0に設定しましたか? – YouneL

答えて

1

コメントからは、クライアントボックスのコマンドラインからは失敗しますが、パーソナルボックスのコマンドライン(GUI、技術的に)から動作することがわかりました。これらのコメントから、SELinuxやIPTablesではないこともわかります。 SELinuxのか、iptablesの、またはあなたのクライアントのボックスとサーバーの間の

  • ルータ/ファイアウォール以外のクライアントのボックスに

    • システム/ OSレベルの設定:したがって、それはどちらかでなければなりません。

    低レベル(例:IP)ツールを分割する時間。または、発見したように、上流のネットワーク管理者に連絡してください。某有名探偵の言葉で

    :あなたは不可能、どのような残留物を除去すると

    、どんなにそうにない、真実である必要があります。

  • +1

    特定の名探偵クォートの追加ポイント。 – jskrwyk

    関連する問題