【问题标题】:MYSQL queries not executing or not showing errorsMYSQL 查询未执行或未显示错误
【发布时间】:2011-05-02 03:18:28
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

    标签: php mysql


    【解决方案1】:

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

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

    以上每一项都消除了至少 1 个元素(您的程序、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 可能不是问题,可能是我之前提到的错误输入)。

    【讨论】:

    • @Gabriel,这回答了你的问题吗?我已经一天没看到这方面的任何活动了。
    • 抱歉托德,坐飞机了,无法回复您! 1.Mysql正在运行。 2. 我的网站由 NGINX 提供服务。 3. PHPMYADMIN 正在工作。 4.我去看看php日志写在哪里!
    • 在phpinfo报告中找不到mysql日志参数或类似参数,请告诉我是哪个?
    • @Gabriel,您正在寻找error_log 设置。我已经用更详细的说明编辑了这个问题。
    猜你喜欢
    • 2021-08-24
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多