我的系统是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();
}
当我删除它时,页面加载正常。我该如何解决?
答案 0 :(得分:5)
mysqli::connect_errno
和mysqli::correct_error
are properties, not functions:
$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 is a software bundle which uses IIS Express for webserver functionality。查看IIS Express存储其日志的位置会将我们引导至this Q&A;在您的用户目录(或系统管理员帐户)中查找名为“IISExpress”的目录。
答案 1 :(得分:0)
错误代码500表示存在内部服务器错误 - 通常这意味着某些服务器配置错误。维基百科概述了所有http status codes。 正如其他人已经提到的:如果不看错误日志,很难帮助你。我还要确保db凭证是正确的。