exec 无法在 windows 上执行命令

时间:2021-04-13 09:46:25

标签: php exec

我正在 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 上不起作用。 感谢您的帮助。

0 个答案:

没有答案
相关问题