ホームページ >バックエンド開発 >PHPの問題 >php が mysql に接続できない場合はどうすればよいですか?

php が mysql に接続できない場合はどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-11-04 10:08:263261ブラウズ

php が mysql に接続できない問題の解決策: まず [hosts] ファイルを見つけてデフォルトで読み取り専用にし、それからメモ帳で開き、ファイルの最後に [127.0.0.1 localhost] を追加します。ファイルを選択してデスクトップにコピーします。

php が mysql に接続できない場合はどうすればよいですか?

php が mysql に接続できない場合の解決策:

問題 1

今日、ノートブックに mysql と php をインストールしましたが、すべてが正常にインストールされました (php@IIS7.5-fastCGI)。しかし、phpmyadmin を使用して接続してテストすると、「#2002 接続できません」というエラーが表示され、他のプログラムを使用した場合も同様の問題が発生します。

確認すると、php の mysql 拡張機能が正しくインストールされ、mysql サービスが正常に起動します。これは奇妙なことです。 navicatを使って再度接続したら繋がりました。 。どうやらphpとmysql間の通信に問題があるようです。

Baidu で検索した結果、問題が発見されました:

Mysql_connect() 関数のデータベース サーバー (サーバー) パラメータは現在 localhost に設定されていますが、127.0.0.1 に変更すると、正常にアクセスできます。

システム ホスト ファイルは、127.0.0.1 から localhost への解決を提供しません。

解決策 (win7 システムを例にします): C:\Windows\System32\drivers\etc\hosts ファイルを見つけます。デフォルトは読み取り専用です。別のパスにコピーします。たとえば、デスクトップでファイルを開き (メモ帳で開きます)、ファイルの末尾に 127.0.0.1 localhost

を追加します。存在する場合は、その前の「#」を削除します。

質問 2

phpinfo() などの php スクリプトは正常に実行できます。

「mysql_connect」関数が表示されるとすぐに応答がなく、エラーも報告されません。

#例:

$conn = mysql_connect("127.0.0.1","root","xxxx") または die("MYSQL データベース接続に失敗しました:".mysql_error());

が Apache ログ ディレクトリ error.log に表示されます

PHP 警告: PHP 起動: ダイナミック ライブラリ 'c:\\php\\ext\\php_mysql.dll'# をロードできません

##解決策:

「libmysql.dll」を Apache の bin ディレクトリにコピーします。次に再起動して、error.log を観察します。エラーが消えたら、おめでとうございます。

もう 1 つ: オンライン情報には、「libmysql.dll」と「php_mysql.dll」を Windows/system32 にコピーする必要があるとも記載されています。

質問 3

コードは次のとおりです。

 $link_id=@mysql_connect( "localhost ", "sampadm ", "secret "); 
  //以下代码省略 
?>

実行時に次のプロンプトが表示されます:

致命的エラー: への呼び出しvar/www/html/mytest.php

の未定義関数 mysql_connect( ) 解決策:

1.

extension_dir が php.ini に設定されています"d:\apache2\php\ext "に絶対パスを指定します。そうでないと環境によってはエラーが発生します。

次の 2 行の関数 extension

    extension=php_mysql.dll
  • extension=php_mysqli.dll ## を開きます。
  • 2. libmysql.dll (php ディレクトリの下) と php_mysql.dll (php/ext ディレクトリの下) を c:\windows\system32 ディレクトリにコピーします (libmysql.dll は次のディレクトリにある必要があります) php ディレクトリ (例: 私の場合は libmysql.dll は D:\apache2\php ディレクトリにあり、php_mysql.dll は D:\apache2\php\ext にあります)
3. テスト、

1> ; まずコマンド ラインを開きます

A) [スタート] メニュー -> [mysql] -> [mysql5 サーバー] -> [MySQL コマンド ライン クライアント] をクリックします

//このように、ステップが成功した場合、mysql セキュリティは成功しました。失敗した場合、mysql のインストールは失敗しました。アンインストールして再インストールしてください。

B) パスワードを入力してください

/ /この手順が正常であれば、root アカウントのパスワードが正しいことを意味します。失敗した場合は、アカウントのパスワードが間違っています

2> ホーム ディレクトリに新しいファイルを作成し、testmysql.php という名前で保存し、

http://localhost/testmysql.php

と入力します。ブラウザ (または http://localhost:81/testmysql.php) で

#これが機能しない場合は、Apache が php メソッドと mysql メソッドをロードしたかどうかを確認してくださいphp5 のサポートを追加しますApache で httpd.conf ファイルに追加します。 次の 3 行からセミコロンを削除します。

PHPIniDir "D:/ccopen/php5/"
LoadModule php5_module "D:/ccopen/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php

php.ini

extension=php_mysql.dll

  • extension =php_mysqli.dll

  • ##php_mysql.dll と libmysql.dll を system32 にコピーします

    Apache サーバーを再起動します

関連ビデオの推奨事項:

PHP プログラミングの入門から習熟まで

以上がphp が mysql に接続できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。