2017-02-07 10 views
-3

に接続していない:PHPは、私はPHPでリモートのMySQLサーバに接続する必要がありますが、私は次のエラーを取得するリモートMySQL

Warning: mysqli::mysqli(): (HY000/2003): Can't connect to MySQL server on ... (13) in /var/www/html/index.php on line 16 

Warning: mysqli::query(): Couldn't fetch mysqli in /var/www/html/index.php on line 17 

Fatal error: Call to a member function fetch_assoc() on a non-object in /var/www/html/index.php on line 18 

リモートサーバfirewalが開いて、利用者は、任意のホストから接続する権限を持っていますmysqlコマンドラインでローカルサーバから接続できますが、PHPに接続することはできません。

ここで問題が発生する可能性がありますか?

EDIT: 既に別の接続コードで試してみましたが、常に同じエラーです。

これが最新のものである:

$mysqli = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE); 
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS msg"); 
$row = $result->fetch_assoc(); 
echo $row['msg']; 
+1

私たちにはどのように伝えるべきですか?接続コードを追加するには、接続コード – baao

+0

を編集していません。とにかく既に別のコードを試して、うまくいきませんでした。これはどこかに設定されているようですが、リモートのMySQL接続に影響するphp.iniファイルが見つかりませんでした。 – BeoWulf

+0

http://php.net/manual/en/mysqli.connect-error.php glhfでデバッグしてください。 –

答えて

3

これは、httpdネットワーク接続を許可していないSELinuxの問題であることが判明しました。実行

setsebool -P httpd_can_network_connect=1 

は、問題を解決しました。

0

あなたは、接続先で情報を挿入していることを確認します。 DB_DATABASEと他のキーワードを、一重引用符でデータベース情報に置き換えます。

$mysqli = new mysqli('localhost', 'MyUsername', ''mypassword', 'database1'); 
関連する問題