如何在'PHP的'shell_exec'方法中进行'git pull'?

时间:2017-05-29 23:00:32

标签: php git curl deployment permissions

我正在尝试执行一个试图在PHP的git pull方法中运行shell_exec的PHP文件。

<?php
$output = shell_exec('cd /var/www/html && git pull &> log');
echo "<pre>$output</pre>";

我已尝试使用其他git命令,例如log,并且返回正常。只是git pull表现不佳。

我确定这取决于权限,但我觉得我已经正确设置了......也许。

我的文件位于/var/www/html,我作为root用户运行(我在DO droplet上运行LEMP堆栈图像 - 它纯粹是用于测试,将在以后销毁)

root@git-training:/var/www/html# ls -lah
total 64K
drwxrwxr-x 3 www-data www-data 4.0K May 29 22:49 .
drwxrwxr-x 4 www-data www-data 4.0K May 29 22:28 ..
-rw-r--r-- 1 www-data www-data   19 May 28 18:38 about.html
-rw-r--r-- 1 www-data www-data   20 May 29 20:07 contact-us.html
-rw-rw-rw- 1 www-data www-data  167 May 29 22:48 deploy.php
dr-xr-xr-x 8 www-data www-data 4.0K May 29 22:41 .git
-rw-r--r-- 1 www-data www-data   42 May 29 20:55 .gitignore
-rw-r--r-- 1 www-data www-data   21 May 28 18:28 index.html
-rw-r--r-- 1 www-data www-data   32 May 29 20:43 profile.html
-rw-r--r-- 1 www-data www-data   20 May 29 21:15 somefile.php

现在要对其进行测试我正在从本地计算机发出curl请求到网址 - http://MY-DO-IP/deploy.php然后它会运行,但git pull什么都不做......

有没有人建议为什么这可能不起作用?

感谢任何帮助。

亲切的问候,

- 克里斯

0 个答案:

没有答案