gpt4 book ai didi

php - 错误 : cannot open . git/FETCH_HEAD:使用 php 脚本进行 git pull 时权限被拒绝

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:12 25 4
gpt4 key购买 nike

我为 git pull 疯狂的简单 php 脚本

<?php
$output = shell_exec("cd /var/www/domain.tld/html/test/ && git pull 2>&1");
echo "<pre>$output</pre>";

将其命名为 git.php 并给它 755

输出是

error: cannot open .git/FETCH_HEAD: Permission denied

但是当从终端尝试时

$ git pull
Already up-to-date.

我检查了目录所有权,我的用户是“精明的”

drwxrwsr-x  4 savvy savvy     4096 Jul 13 05:40 test

和里面的文件

$ ls -la test/
total 20
drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:40 .
drwxr-xr-x 7 savvy savvy 4096 Jul 13 05:38 ..
drwxrwsr-x 8 savvy savvy 4096 Jul 13 05:41 .git
-rw-rwSr-- 1 savvy savvy 19 Jul 13 05:39 test.php

.git

$ ls -la .git/
total 60
drwxrwsr-x 8 savvy savvy 4096 Jul 13 05:41 .
drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:40 ..
drwxrwsr-x 2 savvy savvy 4096 Jul 13 05:39 branches
-rw-rwSr-- 1 savvy savvy 268 Jul 13 05:39 config
-rw-rwSr-- 1 savvy savvy 73 Jul 13 05:39 description
-rw-rwSr-- 1 savvy savvy 97 Jul 13 05:41 FETCH_HEAD
-rw-rwSr-- 1 savvy savvy 23 Jul 13 05:39 HEAD
drwxrwsr-x 2 savvy savvy 4096 Jul 13 05:39 hooks
-rw-rwSr-- 1 savvy savvy 104 Jul 13 05:41 index
drwxrwsr-x 2 savvy savvy 4096 Jul 13 05:39 info
drwxrwsr-x 3 savvy savvy 4096 Jul 13 05:39 logs
drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:39 objects
-rw-rwSr-- 1 savvy savvy 41 Jul 13 05:40 ORIG_HEAD
-rw-rwSr-- 1 savvy savvy 107 Jul 13 05:39 packed-refs
drwxrwsr-x 5 savvy savvy 4096 Jul 13 05:39 refs

~/.ssh

drwx------ 2 savvy savvy 4096 Jul 13 04:56 .ssh

里面

$ ls -la .ssh/
total 36
drwx------ 2 savvy savvy 4096 Jul 13 04:56 .
drwxr-xr-x 4 savvy savvy 4096 Jul 12 08:34 ..
-rw-r--r-- 1 savvy savvy 398 Jul 12 05:46 authorized_keys
-rw-rw-r-- 1 savvy savvy 59 Jul 11 10:10 config
-rw------- 1 savvy savvy 1679 Jul 11 07:44 id_rsa
-rw-rw-r-- 1 savvy savvy 398 Jul 12 05:21 id_rsa.pub
-rw-r--r-- 1 savvy savvy 1768 Jul 13 05:08 known_hosts

最佳答案

我通过以下方法解决了这个问题

第 1 步:将/home/savvy/.ssh 复制到/var/www/

# cp -R /home/savvy/.ssh /var/www/

第 2 步:将/var/www 目录提供给 www-data 用户

# chown -R www-data:www-data /var/www/

第 3 步:以 www-data 用户身份登录

$ su
Password:
# su -s /bin/bash www-data

第 4 步:将存储库克隆到我的目录/var/www/domain.tld/html/test/

第 5 步:调用我已经创建的 git.php 文件 domain.tld/git.php

结果

From bitbucket.org:repo/test
8e9f67c..185cd9e master -> origin/master
Updating 8e9f67c..185cd9e
Fast-forward
test.php | 1 +
1 file changed, 1 insertion(+)

关于php - 错误 : cannot open . git/FETCH_HEAD:使用 php 脚本进行 git pull 时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38349314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com