我目前有一个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使用情况统计信息 程序退出。
如何正确地将此信息写入文件?
答案 0 :(得分:1)
此选项似乎在Windows上似乎不起作用。我并不感到惊讶,因为这些信息在这个系统上不像Linux那样容易获得,并且MySQL人们可能并不打算移植这个小小的选项。
在Linux上,调试信息将发送到stderr
(您通常会使用2>debug.log
重定向捕获此信息。