如何使用shell_exec函数在PHP中测试mysqldump的成功

如何使用shell_exec函数在PHP中测试mysqldump的成功,php,mysqldump,shell-exec,Php,Mysqldump,Shell Exec,我通过PHP调用mysqldump来生成数据库的备份 在我的脚本中,我想测试命令是否成功完成 到目前为止,我找到的所有解决方案都使用“exec”或“system”来运行mysqldump 这些功能在我的主机上被禁用,但是“shell_exec”可用 使用shell_exec如何检查mysqldump命令是否成功完成,或者是否存在错误?返回的值是执行的命令输出的值 因此,您应该从返回的mysqldump中获取所有输出 现在,要检查mysqldump是否失败,您很可能需要在与结果相关的输出字符串中进

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

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

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

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

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

返回的值是执行的命令输出的值

因此,您应该从返回的
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\u exec()
得到的结果:

返回的值是执行的命令输出的值

因此,您应该从返回的
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\u exec()
得到的结果:


那么返回的值将是数据库的整个转储?不,输出将是运行控制台时输出到控制台的任何内容。我不知道它输出什么。我没有SSH访问权限,无法尝试自己运行命令来查看输出。那么,您可以通过
shell\u exec()
then进行测试,对吗?我可以从personal expirence判断,它在控制台中没有输出任何内容。我不确定您是否可以附加一个参数以将其输出到output,因此返回的值将是数据库的整个转储?不,当您运行它时,输出将是控制台输出的任何内容。我不知道它输出了什么。我没有SSH访问权限,无法尝试自己运行命令来查看输出。那么,您可以通过
shell\u exec()
进行测试,对吗?我可以从personal expirence判断,它在控制台中不输出任何内容。我不确定您是否可以附加一个参数以将其输出