Задать вопрос

Exec() не выполняет команду SFTP, в чем причина?

Из консоли - работает, через exec() - нет.

$pass = 'QQQQQ';
$server = '10.78.78.222';
$path = '/home/bitrix/www/test/file.txt';
exec('sshpass -p '.$pass.' sftp root@'.$server.':'.$path.' '.$path, $D);
print_r($D);


Какие могут быть причины?

$D выдает непонятную "6".
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
anton_lazarev
@anton_lazarev
А чем не угодили встроенные функции?

php.net/manual/ru/function.ssh2-connect.php

php.net/manual/ru/function.ssh2-sftp.php
Ответ написан
Комментировать
@jimquery
Полные пути к программам нужно указывать
$ whereis sftp
sftp: /usr/bin/sftp 
$ whereis sshpass
sshpass: /usr/bin/sshpass
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы