我想从一个简单的PHP脚本内使用mysqldump命令转储数据库,但输出文件为空,在这个脚本中是否有什么错?mysqldump从内部php
<?php
$dbhost = 'best.hostname.com';
$dbuser = 'best';
$dbpass = 'pass4best';
$dbname = 'best';
exec('mysqldump --host=$dbhost --user=$dbuser --pass=$dbpass $dbname > best.sql');
?>
输出文件似乎包含一些值,但没有什么打算,它包含:“用法:mysqldump的[选项]数据库[表] OR的mysqldump [OPTIONS] --databases [OPTIONS] DB1 [ DB2 DB3 ...] 或mysqldump [选项] - 全部数据库[选项] 有关更多选项,请使用mysqldump --help“ –
您的命令字符串需要双引号,否则您将不会得到任何可变插值。您正在将字面变量名称传递给该命令。投票结束,因为印刷错误。作为良好实践的一部分,您也可以考虑转义您传递给shell的变量参数。 –