$schedule->exec () 执行 shell 命令的所在目录环境是什么?

在laravel里用定时任务执行了一些python脚本
目前都放在/var/的子目录下
现在想把它们放到laravel项目中,加入代码版本控制
这样的话,Kernel里就不能写绝对地址了(因为项目的部署目录在不同的环境下不同)
所以Kernel里的任务调度,执行的目录是什么?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

你是要把python代码重新写成php吗?

执行的目录是laravel项目的根目录

3年前 评论
kiyoma (楼主) 3年前
songxue77 (作者) 3年前
kiyoma (楼主) 3年前
kiyoma (楼主) 3年前

有个方案:

1,把Python脚本代码保存到数据库。

2,执行定时任务的时候获取到Python脚本的代码然后动态创建目录(判断是否有目录,比如:/www/wwwroot/YOUR_APP/pythonScripts/)然后执行 python xxx命令呀~

3年前 评论

第一种方法:

$schedule->exec (" cd 你的目录 && 执行python命令 ")

第二种方法:新建一个Command类,在里面这么写:

use Symfony\Component\Process\Process;

$process = new Process(" cd 你的目录 && 执行python命令 ");
$process->run();
dump($process->isSuccessful());
3年前 评论
kiyoma (楼主) 3年前
JerryBool (作者) 3年前
kiyoma (楼主) 3年前
JerryBool (作者) 3年前
JerryBool (作者) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!