我有一个PHP网络应用程序,直到今天一直工作正常(它位于Windows / IIS服务器上)。当我尝试访问连接到MYSQL数据库的页面时,我在firefox中得到一个空白页面。在IE中我得到500内部服务器错误。普通的PHP工作正常,它只是当我尝试连接到数据库时。 mysqli连接没有给出任何错误消息。
奇怪的是 - 我在同一台服务器上安装了phpmyadmin并且工作正常,我可以看到我的数据库并与之交互。
我在服务器上还有另一个数据库工作正常,附加到该数据库的用户具有只读访问权限(因为它是一个存档数据库),但连接到它的PHP Web应用程序可以工作。
我尝试了什么?
我甚至尝试过编写测试脚本:
<?php
//Debugging
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
include "settings.php";
echo $HOST . "<br>";
echo $DBNAME . "<br>";
echo $DBUSERNAME . "<br>";
echo $DBPASSWORD . "<br>";
$CON = new mysqli($HOST, $DBUSERNAME, $DBPASSWORD, $DBNAME);
//Check the connection and report error if it failed
if ($CON->connect_errnum > 0)
{
die('Unable to connect to database [' . $CON->connect_error . ']');
}
$result = $CON->query("select user() AS us");
if (!$result)
die("There was an error running the query [" .$CON->error ."]");
}
while($row = $result->fetch_assoc())
{
echo $row["us"] . "<br>";
}
?>
如果我没有$result = $CON->query("select user() AS us");
向下的代码,它会显示4个值。一旦我加入它,我就会得到500内部服务器错误页面。
我无法弄清楚发生了什么或从哪里开始寻找。
答案 0 :(得分:0)
我的一个支持类中有一个语法错误,这导致页面在进入数据库连接之前失败。因为我的错误报告被关闭了,所以我看不到这一点(即使我认为它已经开启)。我必须进入PHP.ini并将display_errors = off设置为display_errors = on。然后显示错误消息。