私は共有ホスティングサーバーから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
ステートメントに追加されましたが、違いはありません。
SELinux(try 'sestatus')を実行していますか?もしそうなら、 'sudo setenforce 0'を試して一時的に強制を無効にしてください。 – bishop
共有ホストからVPSデータベースへのシェルコマンドラインmysqlを使用して接続を試してください。そのようなエラーメッセージが表示されることがあります。それはまた、PHPを使わずにテストします。 – saswanb
すでにmy.cnfのbind-addressパラメータを0.0.0.0に設定しましたか? – YouneL