有没有办法直接在CAkePHP4的命令类上运行shell命令?我想这样。
class SyncProjectsCoursesCommand extends Command
{
public function execute(Arguments $args, ConsoleIo $io): int
{
// Custom MySQL shell command
$this->run("mysql -u qstimuser --password=$DPASS --database=tims2 --host=10.10.9.60 --execute='...'");
// Or customer .sh file on Linux bin
$this->run("custom-shell-command.sh")
return static::CODE_SUCCESS;
}
}
?>
1条答案
按热度按时间iqih9akk1#
Command::run()
用于运行当前命令,您不能出于任何其他目的自行调用它,当您从CLI运行该命令时,将调用它。没有特定的方法来运行外部可执行文件,但CakePHP仍然只是PHP,所以您可以使用原生PHP命令。长话短说,使用PHP的原生方法,如
exec()
,system()
,passthru()
等(不要忘记对传递到CLI的输入进行转义!):另请参阅