0
Warning: mysqli_connect(): (HY000/2002): No connection could be made because the target     machine actively refused it. in E:\xampp\htdocs\ss\docs\regional.php on line 15
The connection to the database could not be established.

これは重大なエラーですか、それとも簡単に無視できますか?エラーメッセージ'The connection to the database could not be established.'はですexpected to popnot the warning text。その場合、どうすれば削除できますか。以下は私が使用したコードです。

$db = mysqli_connect('localhost', 'root', '', 'regional_data');
if(mysqli_connect_errno()) {die('The connection to the database could not be established.');}

編集:これをテストするために開発エリアでSQLを停止しましたが、そのときにメッセージが表示されます。

4

3 に答える 3

1

開発環境では、display_errorsの設定をオンにすることは完全に合法です。これは、問題が発生したかどうかを確認する最も簡単な方法です。

生産的な環境では、これをオンに設定しないでください。ユーザーは通常、PHPの問題が発生したかどうかを知る必要がないためです。これらのメッセージには攻撃者にとって貴重な情報が含まれている可能性があるため、ユーザーはそうすべきではありません。それはあなたの内部のような専用のエラーメッセージを通してのみ伝えられるべきですdie()

したがって、display_errorsを無効にすると、出力の警告は消えますが、ログファイルにこの警告を含める必要があります。で警告を抑制すること@はお勧めしません!

于 2012-10-19T18:07:52.663 に答える
0

おそらく、開発環境ではerror_reportingdisplay_errors設定方法が原因で警告が表示されるだけです。

error_reporting

ini_set('display_errors'、0)

編集:明確にするために、error_reportingレベルに開発環境の警告が含まれている場合、画面に表示されるエラーにそれらを含めることができます。テストするにdisplays_errorsは、上記のようにmysqliが接続する直前に0に設定します。

于 2012-10-19T18:05:30.867 に答える
-1

が前に付いた関数を呼び出すことで警告を抑制することができます@が、エラーの原因を確実に修正することをお勧めします。

例えば$db = @mysqli_connect(...)

于 2012-10-19T18:04:27.377 に答える