ホームページ > バックエンド開発 > PHPチュートリアル > Mysql はコマンドラインに接続できますが、php は接続できません

Mysql はコマンドラインに接続できますが、php は接続できません

WBOY
リリース: 2016-06-23 14:11:13
オリジナル
1162 人が閲覧しました

ウェブホスト上で 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);?>
ログイン後にコピー

「DB 接続中に間違っています!」が出力されるだけで、ポートが削除されても機能せず、mysql_connect パラメータに直接書き込まれることもありません。定数。ファイアウォールをオフにしました。Web ディレクトリにはルート所有者とグループがあります。
他に何が可能ですか?


ディスカッションへの返信(解決策)

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)
ファイアウォールは、外部アクセスのリクエストをインターセプトします。
ファイアウォールをオフにします。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート