如何使用Laravel的命令触发方法运行 python脚本?
How to run python script with Laravel's command fire method?
我需要从 Laravel 命令执行 Python 脚本,但我在 Illuminate\Console\Command
中找不到任何方法来完成我的任务。
我想通过控制台运行这个命令:
C:\Python34\python H:\myapp\app\python\questionPopulator.py
为此,我在命令 fire()
方法中尝试了以下操作:
public function fire()
{
$this->call('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
}
public function fire()
{
$this->line('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
}
None 他们工作,因为 Laravel 期待我从他们那里调用另一个 Laravel 命令。通过 Laravel 命令调用简单 python 脚本的最佳方法是什么?
尝试PHP执行函数:http://php.net/manual/en/function.exec.php
exec('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
嗯,你有几个选择
1) 系统
system('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
2) 执行
exec('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
3) shell_exec - 我的最爱
$result = shell_exec('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
shell_exec 运行脚本但 returns 一个字符串。
您可以将结果编码为 json 格式。
这样两个生态系统就分开了。
我需要从 Laravel 命令执行 Python 脚本,但我在 Illuminate\Console\Command
中找不到任何方法来完成我的任务。
我想通过控制台运行这个命令:
C:\Python34\python H:\myapp\app\python\questionPopulator.py
为此,我在命令 fire()
方法中尝试了以下操作:
public function fire()
{
$this->call('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
}
public function fire()
{
$this->line('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
}
None 他们工作,因为 Laravel 期待我从他们那里调用另一个 Laravel 命令。通过 Laravel 命令调用简单 python 脚本的最佳方法是什么?
尝试PHP执行函数:http://php.net/manual/en/function.exec.php
exec('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
嗯,你有几个选择
1) 系统
system('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
2) 执行
exec('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
3) shell_exec - 我的最爱
$result = shell_exec('C:\Python34\python H:\myapp\app\python\questionPopulator.py');
shell_exec 运行脚本但 returns 一个字符串。
您可以将结果编码为 json 格式。
这样两个生态系统就分开了。