其中一个问题就是,需要切换到指定目录,再执行git log命令
通过php的shell_exec来执行命令时,分布执行时,切换目录是不生效的。
经查询得知,shell执行有个环境,如果是分步执行,相当于建立了两个临时shell环境,执行完命令就关闭了,所以环境变量就无效了
解决办法:
通过符号"&&"来连接多个命令,就可以。
如下:
_log(shell_exec("cd ".$gitDir." && pwd && git pull"));