折雨的天空
近期研究了一下git的统计,涉及到linux下通过php执行shell的问题
2024-3-12 我好笨


其中一个问题就是,需要切换到指定目录,再执行git log命令



通过php的shell_exec来执行命令时,分布执行时,切换目录是不生效的。



经查询得知,shell执行有个环境,如果是分步执行,相当于建立了两个临时shell环境,执行完命令就关闭了,所以环境变量就无效了



解决办法:



通过符号"&&"来连接多个命令,就可以。







如下:







_log(shell_exec("cd ".$gitDir." && pwd && git pull"));



其他命令,也是雷同。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容