Получение HTTP Ошибка 500.0 - PullRequest
       17

Получение HTTP Ошибка 500.0

0 голосов
/ 09 августа 2011

Моя система - Windows XP SP2, а мой сервер - Microsoft Webmatrix. PHP работает хорошо, но когда я пытаюсь добавить соединение БД, выдает ошибку 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();
}

Когда я удаляю его, страница загружается нормально. Как я могу это исправить?

Ответы [ 2 ]

5 голосов
/ 09 августа 2011

mysqli::connect_errno и mysqli::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 - это пакет программного обеспечения, который использует IIS Express для функциональности веб-сервера .Поиск того, где IIS Express хранит свои журналы, приводит нас к этим вопросам и ответам ;найдите каталог с именем «IISExpress» в каталоге пользователя (или в каталоге учетной записи системного администратора).

0 голосов
/ 09 августа 2011

Код ошибки 500 означает, что произошла внутренняя ошибка сервера - обычно это означает, что некоторая конфигурация сервера неверна. В Википедии есть обзор всех http кодов статуса . Как уже упоминали другие: вам трудно помочь, не заглядывая в журналы ошибок. Я также хотел бы убедиться, что учетные данные БД верны.

...