页面未找到页眉错误
以下基本代码按预期工作。页面未找到页眉错误
<?php
mysql_connect("localhost", "user", "[email protected]") or die(mysql_error());
echo "Connected to MySQL<br />";
?>
什么我需要的是,而不是mysql_error,页面未找到404错误应该返回。 我正在寻找尽可能短的代码,因为这将被用作负载平衡器检查。
以下似乎不起作用。我得到一个空白页面。
mysql_connect("localhost", "user", "[email protected]") or die(header("HTTP/1.0 404 Not Found"));
我会做到以下几点:牢记我使用mysqli的替代,使用mysql_的*强烈劝阻。
$mysqli = new mysqli('localhost', 'user', 'password', 'dbname');
if ($mysqli->connect_error) {
header("HTTP/1.0 404 Not Found");
} else {
}
您确定要返回404虽然,作为资源已发现这是一个误导,我将返回500错误作为这将是更合适的服务器错误。
有关HTTP状态代码的列表,请参阅here
mysql_connect
will return a false value if the connection was not successful.
$connected = mysql_connect("localhost", "user", "[email protected]");
if (!$connected){
header("HTTP/1.0 404 Not Found");
}
不知道你使用的正是这种代码 - 但不能够连接到你的数据库并不一定意味着所请求的页面不存在 - 它可能也是你的sql服务器的问题。
作为一个附注 - 避免使用日期的mysql_ *函数。使用它们获取新代码的能力很强 discouraged。 更多现代化的替代品可供选择并更好地维护。 考虑学习 prepared statements 改为使用 PDO or MySQLi。 当严格使用时,避免繁琐和手动转义部分,因此变得更容易堆积,因为副产品更安全使用。 请参阅a PDO tutorial开始。
使用库MySQLi或PDO,mysql_ *将得到大幅贬值
$link =mysql_connect("localhost", "user", "[email protected]");
if (!$link) {
header("error.php");
}
echo 'Connected successfully';
如果检查我只想做一个并返回500错误,因为如果谷歌试图查看索引页面,当您无法连接,并把它回404 ,它会认为您的网站已损坏,您将失去排名并链接到该网页。
500将至少表明,有一个服务器的问题,但是这将是固定:
if(!mysql_connect('localhost', 'user', 'pass')){
header('HTTP/1.1 500 Server error');
exit();
}
是否也可以像查看数据库一样检查查询时间,如果超过1秒就返回500错误? – shantanuo 2012-07-19 09:15:52
一个空白页,似乎一个很适当的响应。你在日志中遇到错误吗?你检查过被返回的HTTP头吗? – deceze 2012-07-18 12:12:46