PHP データベース接続の問題を診断して解決する接続情報 (ホスト名、ユーザー名、パスワード) が正しいことを確認してください。エラー情報を取得するには、mysqli_connect_errno() および mysqli_connect_error() を使用します。詳細については、ログ ファイルを確認してください。ファイアウォールがデータベース サーバーのポート (通常は 3306) への接続を許可していることを確認してください。データベースサーバーが実行されているかどうかを確認してください。
PHP データベース接続の問題を診断して解決する方法
データベース接続の問題は、PHP 開発における一般的なエラーです。この記事では、これらの問題を診断して解決する方法について説明します。
ステップ 1: 接続情報を確認する
データベースに接続するために必要な基本情報には次が含まれます:
これらの情報がすべて正しいことを確認してください正しく、必要なアクセス権を持っています。
ステップ 2: mysqli_connect_errno()
と mysqli_connect_error()
を使用しますmysqli_connect_errno()
和 mysqli_connect_error()
mysqli_connect()
函数会返回一个布尔值表示连接是否成功。如果连接失败,您可以使用 mysqli_connect_errno()
和 mysqli_connect_error()
函数获取错误代码和消息。
示例:
$link = mysqli_connect("hostname", "username", "password", "database"); if (!$link) { $error_code = mysqli_connect_errno(); $error_message = mysqli_connect_error(); }
第三步:检查日志文件
您的 PHP 配置中可能启用了日志。检查日志文件以获取有关连接问题的详细信息。日志文件通常位于 /var/log/php-fpm.log
或 /var/log/php.log
中。
第四步:防火墙和端口
确保防火墙允许连接到数据库服务器的端口。通常,MySQL 服务器使用端口 3306。
第五步:数据库服务器状态
检查数据库服务器是否正在运行。您可以使用以下命令:
sudo service mysql status
如果服务器未运行,请使用以下命令启动它:
sudo service mysql start
实战案例
问题:连接到 MySQL 数据库时出现 mysqli_connect(): (HY000/1130): Host 'localhost' is not allowed to connect to this MySQL server
mysqli_connect()
関数は、次のことを示すブール値を返します。接続が成功したかどうか。接続が失敗した場合は、mysqli_connect_errno()
関数と mysqli_connect_error()
関数を使用してエラー コードとメッセージを取得できます。
/var/log/php-fpm.log
または /var/log/php.log
にあります。 🎜🎜🎜ステップ 4: ファイアウォールとポート🎜🎜🎜 データベース サーバーへの接続ポートがファイアウォールで許可されていることを確認してください。通常、MySQL サーバーはポート 3306 を使用します。 🎜🎜🎜ステップ 5: データベースサーバーのステータス🎜🎜🎜データベースサーバーが実行されているかどうかを確認します。次のコマンドを使用できます: 🎜rrreee🎜サーバーが実行されていない場合は、次のコマンドを使用して起動します: 🎜rrreee🎜🎜実際のケース🎜🎜🎜🎜問題: 🎜mysqli_connect(): (HY000/ 1130):ホスト「localhost」はこの MySQL サーバーへの接続を許可されていません
エラー。 🎜🎜🎜解決策: 🎜ファイアウォールルールを確認し、MySQL ポート 3306 が許可されていないことを確認してください。ファイアウォールでポートを許可すると、問題は解決します。 🎜以上がPHP データベース接続の問題を診断して解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。