Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过浏览器中的PHP脚本访问bitbucket git repo_Php_Git_Bitbucket_Ssh Keys - Fatal编程技术网

通过浏览器中的PHP脚本访问bitbucket git repo

通过浏览器中的PHP脚本访问bitbucket git repo,php,git,bitbucket,ssh-keys,Php,Git,Bitbucket,Ssh Keys,我正在尝试设置我的POST挂钩,以便在每次推送时自动更新服务器上的git repo。这一切都很好,当我在命令行上使用apache并执行脚本时,一切都很好——权限设置好了,ssh密钥工作了,它运行pull 但是,当我尝试通过浏览器运行相同的脚本时,我得到了一个权限被拒绝的错误-这里是浏览器中php脚本的输出: $ echo $PWD /var/www/vhosts/dev-build $ whoami apache $ ssh -T git@bitbucket.org 2>&1 Pe

我正在尝试设置我的POST挂钩,以便在每次推送时自动更新服务器上的git repo。这一切都很好,当我在命令行上使用apache并执行脚本时,一切都很好——权限设置好了,ssh密钥工作了,它运行pull

但是,当我尝试通过浏览器运行相同的脚本时,我得到了一个权限被拒绝的错误-这里是浏览器中php脚本的输出:

$ echo $PWD
/var/www/vhosts/dev-build
$ whoami
apache
$ ssh -T git@bitbucket.org 2>&1
Permission denied (publickey).

我和命令行上的用户“apache”是同一个用户,这一切都很好——我缺少什么?

显然,当你把它全部写下来的时候,它就变得清晰了,但我还是会在这里回答,以防有人有同样的问题:

我确实使用密码短语生成了ssh密钥,然后为当前ssh会话存储了该密码短语。然而,当我注销然后再次登录时,我意识到它再次向我索要密码短语——我想当我输入一次密码短语时,它会自动保存它

因此,php脚本在自己的会话中从浏览器运行,没有密码短语,并抛出了一个错误


我用一个空的密码重新生成了ssh密钥,瞧,一切正常。

尝试使用backticks而不是exec