ウェブホスト上で mysql -h 192.168.7.14 -uroot -proot -D sheep を使用してリモートデータベースに接続し、内部のデータを表示します。
しかし、php を使用して同じサーバーに接続するのは失敗しました
<?phpdefine('DB_HOST', '192.168.7.14:3306');define('DB_USER', 'root');define('DB_PASSWORD', 'root');define('DB_NAME', 'sheep');$conn=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("wrong while connect DB!");mysql_select_db(DB_NAME,$conn) or die("wrong while select DB!");mysql_query("set names utf8");echo "test";mysql_close($conn);?>
die("wrong while connect DB!") を
die(mysql_error()) に変更します
ポート 3306 を指定する必要はありません。
die("wrong while connect DB!") を
die(mysql_error()) に変更します
出力は Can't connect to MySQL Server on '192.168.7.14' (13)
ポート 3306 を指定する必要はありません。 ポートを指定しないと機能しません
プログラムがサーバーと同じサーバー上にある場合は、localhost
echo phpinfo(); を使用して、mysql 拡張機能が正常かどうかを確認してください。
echo phpinfo(); mysql 拡張機能が正常かどうかを確認します。 たくさんの出力がありますが、ほとんどすべてが正常です
setenforce 0 を実行するだけです
http://yemaosheng.com/?p=191
でも理由はわかりません、とりあえずこれを実行しましょう
die("wrong while connect DB! ") と入力すると、
die(mysql_error()) に変更されます。
出力 Can't connect to MySQL Server on '192.168.7.14' (13)
ファイアウォールは、外部アクセスのリクエストをインターセプトします。
ファイアウォールをオフにします。