在php中进行数据库转储时,为什么需要提供完整的mysqldump路径?

时间:2015-09-03 10:28:33

标签: php mysql mysqldump

我正在尝试在php类中创建一个mysql数据库转储。

我正在执行以下代码,但只会创建一个空转储文件。但是当我在命令行中执行它时,同样的命令工作正常。

$script = 'mysqldump -h ' . DB_HOST . ' -u ' . DB_USER . ' -p' . DB_PASSWORD . ' ' . DB_NAME . ' > ' . DB_DUMP_PATH . 'mysql-db-dump-' . date('Y-m-d') . '.sql';
exec($script);

但是当我给出mysqldump的完整路径时,转储文件会正确创建。

$script = '/usr/local/mysql/bin/mysqldump -h ' . DB_HOST . ' -u ' . DB_USER . ' -p' . DB_PASSWORD . ' ' . DB_NAME . ' > ' . DB_DUMP_PATH . 'mysql-db-dump-' . date('Y-m-d') . '.sql';
exec($script);

但我看到了大部分教程,他们只是使用mysqldump命令。不是完整的道路。这背后的原因是什么?我计划在unix和windows环境中使用它。

是否有可能在php中为两种环境获取mysqldump路径?

1 个答案:

答案 0 :(得分:1)

您可以通过将mysqldumpmysql命令从/usr/local/mysql/bin/复制到/usr/bin/路径来避免路径。