php - 如何使用 shell_exec 函数在 PHP 中测试 mysqldump 是否成功

标签 php mysql shell-exec

我正在通过 PHP 调用 mysqldump 来生成我的数据库的备份。

在我的脚本中,我想测试命令是否成功完成。

到目前为止,我发现的所有解决方案都使用“exec”或“system”来运行 mysqldump。

这些功能在我的主机上被禁用,但是“shell_exec”可用。

如何使用 shell_exec 检查 mysqldump 命令是否成功完成,或者是否有错误?

最佳答案

shell_exec() 的值returns 是执行命令的输出。

因此,您应该在返回中获取 mysqldump 的所有输出。

现在,要检查 mysqldump 是否失败,您很可能想在与结果相关的输出字符串中进行一些搜索。

只是一个简单的例子。如果你在控制台中运行 php -v,你会得到类似这样的结果:

PHP 5.6.10 (cli) (built: Jun 10 2015 15:59:59)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

这是 shell_exec() 的结果:

string(148) "PHP 5.6.10 (cli) (built: Jun 10 2015 15:59:59) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies " 

关于php - 如何使用 shell_exec 函数在 PHP 中测试 mysqldump 是否成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33821600/

相关文章:

javascript - jQuery AJAX PUT 请求数据提交不起作用

MySql - Sequelize - 无法添加外键约束

mysql - 如果找不到匹配项,如何追加列数据?

php - 添加在 ajax 搜索字段 wordpress 中搜索类别名称的功能

php - 如何在 php shell_exec 中运行多个 ffmpeg 任务

PHP - 存储 SELECT 查询并在 INSERT 查询中使用它

php - 引用 - 这个错误在 PHP 中意味着什么?

php - 每个优秀的 PHP 开发人员都应该能够回答的问题

php - 带 nohup 的 Shell_exec php

php - strpos 未返回正确的结果