Я пытаюсь сделать крюк на BitBucket, который выполняет файл PHP, и этот файл выполняет команду нагрузочный:Git тянуть «доступ запрещен» при использовании shell_exec в PHP
shell_exec('/usr/local/cpanel/3rdparty/bin/git pull');
тянущий команда работает штраф на консоли SSH, но PHP возвращает ошибку:
Permission denied (publickey). fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
команда --version показывает путь к мерзавцу прав, whoiami возвращает одного и того же пользователя на обоих, поэтому я не знаю, является ли это проблемой разрешения.
Что может быть не так?
Edit: Дополнительный вопрос: псевдоним я добавил для мерзавца не работают на PHP, только полный путь, как описано выше. Через терминал он работает отлично. Возможно, это та же самая причина, почему ключ не работает в php.
Редактировать 2:$PATH
отличается на обоих.
Похоже, что ваш SSH-ключ не был добавлен в этот git-репозиторий (проблема с разрешением). – Alex
Как вы называете этот скрипт shell_exec()? через веб-браузер/http? Разве он не должен возвращать UID веб-сервера в этом случае, а не «тот же пользователь», который у вас есть? –
Открытый ключ находится в репозитории. Я могу вытащить с сервера, проблема только при запуске команды из php-файла. И да, я запускаю php-файл через http, а whoami возвращает одно и то же имя пользователя. Возможно ли иметь пользователя с одинаковым именем, но разные привилегии? –