我正在 Windows 10 上执行 php 脚本。 以下行执行没有任何问题:
exec("CREATE DATABASE `$dbname`;")
但是当我想执行以下行时,我只收到一个通知,它不会执行:
$command='mysql -h' .$dbhost .' -u' .$dbuser .' -p' .$dbpass .' ' .$dbname .' < ' .$mysqlImportFilename;
exec($command,$output=null,$worked);
我收到的通知:
注意:只能通过引用传递变量
完整的脚本是:
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'test';
$mysqlImportFilename = 'matab_database_backup.sql';
try {
$dbh = new PDO("mysql:host=$dbhost", $dbuser, $dbpass);
$dbh->exec("CREATE DATABASE `$dbname`;")
or die(print_r($dbh->errorInfo(), true));
}
catch (PDOException $e) {
die("Error: " . $e->getMessage());
}
$command='mysql -h' .$dbhost .' -u' .$dbuser .' -p' .$dbpass .' ' .$dbname .' < ' .$mysqlImportFilename;
exec($command,$output=null ,$worked);
switch($worked)
{
case 0:
echo 'Done';
break;
case 1:
echo 'Faild';
break;
}
此脚本在 linux 上运行良好,但在 windows 上不起作用。 感谢您的帮助。