0

私のシステムは Windows XP SP2 で、Web サーバーは Microsoft Webmatrix です。PHP は正常に動作しますが、db 接続を追加しようとすると、http エラー 500.0 が表示されます。エラーを発行するコード

$db = new MySQLi('localhost', 'my_login', 'my_pass', 'db_name');
if ($db->connect_errno()) {
    printf("Connect failed: %s\n", $db->connect_error());
    exit();
}

削除すると、ページが正常に読み込まれます。どうすれば修正できますか?

4

2 に答える 2

5

mysqli::connect_errnoandmysqli::correct_error はプロパティであり、関数ではありません:

$db = new MySQLi('localhost', 'my_login', 'my_pass', 'db_name');
if ($db->connect_errno) {
    printf("Connect failed: %s\n", $db->connect_error);
    exit();
}

これが原因で PHP がエラーを生成し、display_errorsオフにしたため、サーバー ログに記録され、一般的な 500 エラーがユーザーに表示されます。


ドキュメント内の次の注意事項にも注意する必要があります。

mysqli->connect_error プロパティは、PHP バージョン 5.2.9 および 5.3.0 以降でのみ正しく機能します。

PHP バージョン 5.2.9 または 5.3.0 以降を使用していますか?


今後障害診断を実行するには、サーバー ログを見つける必要があります。

ウィキペディアによると、Microsoft WebMatrix は Web サーバー機能に IIS Express を使用するソフトウェア バンドルです。IIS Express がログを保存する場所を調べると、この Q&Aにたどり着きます。ユーザー ディレクトリ (またはシステム管理者アカウントのディレクトリ) で "IISExpress" という名前のディレクトリを探します。

于 2011-08-09T09:23:52.657 に答える
0

エラー コード 500 は、内部サーバー エラーが発生したことを意味します。通常、これは、一部のサーバー構成が間違っていることを意味します。ウィキペディアには、すべてのhttp ステータス コードに関する概要があります。他の人が既に述べたように: エラー ログを見ずにあなたを助けることは困難です。また、データベースの資格情報が正しいことも確認します。

于 2011-08-09T08:19:16.963 に答える