2017-05-16 35 views
1

Webプロジェクト(PHP、HTML、CSS)を保存しました。 opt/lampp/htdocsのXAMPPディレクトリ内で作業しているので、Webブラウザを使用して.phpファイルを実行できます。これらの.phpファイルの1つは、外部サーバーのMySQLデータベースに接続しようとしますが、実行時には:XAMPPを使用した外部データベースへのMySQLの接続

mysqli_connect($servername, $username, $userpassword); 

警告を表示します。

*mysqli_connect(): (HY000/2002): Connection refused* 

私はphpmyadminと対応する資格情報でデータベースにアクセスしようとしましたが、正常に動作します。

質問があります:私はXAMPPを使用してその外部データベースへのmsqli_connectを実行できますか、私はあきらめますか?

ありがとうございます!

+1

「mysqli_connect( "external_ip"、 "my_user"、 "my_password"、 "my_db"); ' – Harikrishnan

+0

@Harikrishnanを試してみてください。私はその情報を含めるために私の質問を編集します。あなたは何かもっと考えることができますか?とにかくありがとう! – Eduardo

+0

おそらくあなたのサーバー上のあなたのローカルパブリックIPアドレスをホワイトリストに登録する必要があります。 SERVER_IPをしようと、端末とshow O/P 'のtelnet SERVER_IPで – Yeray

答えて

1

私は低い点のためコメントできませんので、私はここで答えています。

私は前に同様の問題に直面していたので、私の経験を共有しました。すべてのコメントは貴重な点を示唆しています。これらは次のとおりです。

  1. サーバー名の代わりにIPアドレスを使用します(DNSキャッシュに問題がある可能性があるので、IPアドレスを使用することは安全です)。
  2. 使用しているIPアドレスがサーバーのファイアウォールによってブロックされていないことを確認してください。可能であれば、サーバのファイアウォールを設定してIPアドレスをホワイトリストに登録します。
  3. デフォルトのMySQLポートは、MySQLサーバが外部からの接続を受け入れるように構成されなければならないことを確認し、ファイアウォールがポート最も重要なのは3306

への外部からの接続を許可するように構成されていることを確認し3306です。上記の設定がすべて適切に設定されている場合は、MySQLユーザーに外部アクセスとすべての権限を与える必要があります。

GRANT ALL PRIVILEGES ON 'yourDatabase'.* TO 'yourUserName'@'%'; 
FLUSH PRIVILEGES; 

参考文献 - Another SO Question

関連する問題