MYSQL查询未执行或未显示错误

时间:2011-05-02 03:18:28

标签: php mysql

刚刚安装了一个带有ubuntu 11.04的nginx服务器,加载我的php程序后,我正在编写,我注意到没有运行MYSQL查询。我没有错误,无论是PHP还是MYSQL。

  1. 我的PDO连接使用的用户具有所有权限。
  2. 当我将主机更改为任何值时,我也不会收到任何错误。
  3. 我相信mysql没有显示任何连接错误。我如何检查它已启用?刚检查了mysql.conf,我发现没有任何与错误报告有关的内容。另外看了php.ini并启用了所有错误选项,我也在代码中启用了它。

    我不知道,没有任何错误报告工作是没用的!

    谢谢!

1 个答案:

答案 0 :(得分:2)

nginx的错误日志在哪里?你看过那些吗? mysql正在运行吗?试试service mysql status。如果它无法连接到数据库,PHP仍应该给你一个错误。你怎么知道查询没有运行?我的意思是,有什么症状?也许查询 正在运行但输入不好?

最重要的是尝试隔离问题。 1)使用curl -v http://your_server确保nginx实际为页面提供服务。 2)使用<? phpinfo(); ?>在根网站目录中设置phpinfo.php文件并检查mysql设置并验证php的日志文件的编写位置3)尝试安装phpmyadmin并查看是否可以使用连接到数据库这一点。

上述每一个都消除了至少一个元素(您的程序,PHP,nginx,mysql),帮助您缩小问题的原因。

编辑:第2项的附加说明。您正在寻找php error_log设置。如果没有设置,错误应该转到stderr,在这种情况下我认为是你的nginx日志文件(至少对于apache是​​真的)。您还可以检查error_reporting是否设置为某个合理的值(暂时尝试error_reporting = E_ALL)。您可以在php.ini文件或程序中设置这两个。请参阅PHP Error Handling Runtime Configuration部分中的手册。我会通过在程序开头触发程序中的错误并确保错误显示在日志文件中来进行完整性检查:

trigger_error('Want to be a rock star test message', E_USER_WARNING);

如果你看到你的消息,你就有了正确的日志文件,你应该找到你的其他错误(如果有的话 - mysql可能不是问题,可能是我之前提到的错误输入)。