我试图通过php脚本在我的服务器上执行命令。我有cPanel,但我通过我的域访问php文件。脚本是:
$output = exec('php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations');
echo "<pre>$output</pre>";
它正在运作,但输出为:Apply the above migrations? (yes|no) [no]:
我不知道如何回应这个命令。我尝试过下面的代码,但它不起作用:
exec("php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations")
$handle = fopen ("php://stdin","r");
exec("yes");
$line = fgets($handle);
if(trim($line) != 'yes'){
echo "ABORTING!\n";
exit;
}
echo "\n";
echo "Thank you, continuing...\n";
答案 0 :(得分:1)
尝试
exec("yes | php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations")
通过这种方式,您可以将yes的输出传递给您的php脚本。