我正在尝试执行一个试图在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
什么都不做......
有没有人建议为什么这可能不起作用?
感谢任何帮助。
亲切的问候,
- 克里斯