0

我目前有一个 PHP ChronJob,它每天对我的数据库进行备份,脚本如下:

<?php
set_time_limit(86000);
include($_SERVER['DOCUMENT_ROOT']."/pagetop.php");
$db = new dbsettings;
$filename = date("d-m-Y");
$output = array();
$output =  shell_exec("C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe --user=".$db->username." --password=".$db->password." --host=".$db->hostname." --add-drop-database --add-drop-table --skip-extended-insert --disable-keys --add-locks --force --debug-info ".$db->databaseName." > ".$_SERVER['DOCUMENT_ROOT']."backups/".$filename.".sql");
//Write backup log
$file = fopen($_SERVER['DOCUMENT_ROOT']."backups/backup.log", "a");
fwrite($file, "\n\r".print_r($output, true)."\n\r");
fclose($file);
?>

这一切都很完美,以正确的格式创建了一个 SQL 文件,但我不能终生将调试信息写入日志,即使我有以下--debug-info论点:

程序退出时打印调试信息以及内存和 CPU 使用统计信息。

如何正确将此信息写入文件?

4

1 回答 1

1

此选项似乎根本不适用于 Windows。我并不感到惊讶,因为这些信息在这个系统上不如在 Linux 上那么容易获得,而且 MySQL 的人可能不会费心移植这个很少使用的选项。

在 Linux 上,调试信息被发送到stderr(您通常会通过2>debug.log重定向捕获此信息)。

于 2013-08-01T16:09:21.680 回答