php - 使用mysqldump在php中备份mysql数据库

标签 php mysql

我有这段代码,它使用 mysqldump 来备份 mysql 数据库。问题是我遇到了这个 fatal error :

Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\pos\php\backupdb.php on line 13

第 13 行是最后一行。

<?php
$backupFile = 'c:\\onstor'. date("Y-m-d-H-i-s") . '.sql';
$command = "mysqldump --opt -u root -p onstor > $backupFile";
system($command);
?>

我该怎么做,我认为代码没问题,因为我已经在命令提示符下尝试过它并且它有效。 是不是我把mysql/bin的路径放到了环境变量里不好。

最佳答案

正如错误消息所指出的那样,问题在于您的脚本运行时间过长。通过 Web 服务器执行的脚本的运行时间不应超过几秒钟。您可以使用 set_time_limit 更改它,但您真正应该做的是让长时间运行的脚本从命令行运行。由于您唯一要做的就是运行 CLI 命令,因此只需完全放弃 PHP 包装器即可。如有必要,将其制作为 shell 脚本。定期将此 shell 脚本作为 cron 作业/Windows 计划程序任务(或任何 Windows 等效名称)运行。

关于php - 使用mysqldump在php中备份mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4448082/

相关文章:

php - 尝试在 sql 查询中回显一些内容

c# - 如何将 ASP.NET MVC 中的 HTML <select> 多个属性的更新值插入到数据库?

Mysql无偏移分页

MySQL日期只是不想被插入

php - 自动替换服务器端 mysql 数据库转储中的用户密码 (Laravel)

php - 以 PHP 变量作为参数调用 JavaScript 方法,

php - 阻止脚本在页面刷新时重新运行

php - 不区分重音的子字符串匹配

php - 在php中突出显示字符串中的文本

mysql - Spider for MySQL 和可扩展性