【问题标题】:Open MySQL slow query log with PHP用PHP打开MySQL慢查询日志
【发布时间】:2011-01-01 10:19:03
【问题描述】:

我无法使用 PHP 打开 MySQL 的慢查询日志。我正在编写一个调试器并尝试访问日志文件,但它给了我一条权限被拒绝的消息。

代码:

$log = file_get_contents('/var/log/mysql/mysql-slow.log');

响应(错误):

Warning: file_get_contents(...): failed to open stream: Permission denied ...

我可以在终端上 cat 该文件就好了。我已将日志文件 chmod 为 0777,结果相同。 MySQL 运行时是否不允许此操作?有没有办法解决这个问题?

PHP5.2.10、Ubuntu 9.10、MySQL 5.1.37

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    还要确保目录/var/log/mysql 至少对您的网络服务器用户具有执行权限 (711),我相信在 Ubuntu 中默认为 700。

    【讨论】:

      【解决方案2】:

      我猜我会说运行 php 的用户与日志文件的所有者不同或不在同一个组中。

      您可以尝试更改日志文件的所有者,但这可能会阻止 mysql 对其进行写入。

      你可以用 fopen 读取文件吗?

      【讨论】:

      • 拥有 777 权限,文件所有者和 PHP 用户/组应该无关紧要。
      • 正确,但存在明显的安全隐患
      【解决方案3】:

      你试过popen吗?

      $fp=popen("cat /var/log/mysql/mysql-slow.log","r");
      while (!feof($fp)) {
          $buffer = fgets($fp, 4096);
          $croninf .= '<tr><td>' . $buffer . '</td></tr>' . "\n";
      } 
      

      【讨论】:

        【解决方案4】:

        将用户添加到adm groupon linux shell 命令

        adduser www-data adm

        将文件权限授予 770(所有者和组完全访问权限)并重新启动系统

        chmod 770 /var/log/mysql/mysql-slow.log
        reboot
        

        然后从php读取文件

        $filename = '/var/log/mysql/mysql-slow.log';
        $handle = fopen($filename, "r");
        $icerik = fread($handle, filesize($filename));
        fclose($handle);
        print_r($icerik);
        

        【讨论】:

          【解决方案5】:

          试试这个代码:

          chmod 777 /var/log/mysql/mysql-slow.log
          <?php 
          $file = "/var/log/mysql/mysql-slow.log"; //local
          $fp = fopen($file, "r");
          if ($fp) {
              while (($line = fgets($fp, 4096)) !== false) {
                  echo "<br/>" . $line;
              }
          }
          ?>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-10-31
            • 2012-06-01
            • 1970-01-01
            • 2016-08-21
            • 1970-01-01
            • 2015-10-31
            • 2010-10-09
            相关资源
            最近更新 更多