繁体   English   中英

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

[英]MYSQL queries not executing or not showing errors

刚刚安装了一个 nginx 服务器和 ubuntu 11.04 并且在加载我的 php 程序后我注意到没有 ubuntu 程序我正在写我注意到没有 Z1D41C853AF58D3A7AE54998F43FDD55ABBZC1 PHP 和 MYSQL 都没有错误。

  1. 我的 PDO 连接使用的用户拥有所有权限。
  2. 当我将主机更改为任何值时,我也没有收到任何错误。

我相信 mysql 没有显示任何连接错误。 我如何检查它是否已启用? 刚刚检查了 mysql.conf,我没有看到任何与错误报告相关的内容。 还查看了 php.ini 并启用了所有错误选项,我也在代码中启用了它。

我不知道,没有错误报告是没用的!

谢谢!

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

最重要的是尝试隔离问题。 1) 使用curl -v http://your _server确保 nginx 实际上正在服务页面。 2)在web根目录下建立一个phpinfo.php文件,带<? phpinfo(); ?> <? phpinfo(); ?> <? phpinfo(); ?>并检查 mysql 设置并验证 php 的日志文件正在写入的位置 3) 尝试安装 phpmyadmin 并查看是否可以使用该连接到数据库。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM