LINUX.ORG.RU

ssh2_exec

 


0

1

Запускаю команду через ssh2_exec(), вылазит ошибка «Warning: ssh2_exec(): Unable to request command execution on remote host»
Она появляется, если передаю команду с очень длинными аргументами. В /var/log/auth.log на удаленной машине ошибок нет, как узнать в чем ошибка?
Запускаю так

ssh2_exec($connection, "php /path/to/script --params='json_encoded_long_str'");

★★★★

Она появляется, если передаю команду с очень длинными аргументами

как узнать в чем ошибка

Догадайся.

--params='json_encoded_long_str'

Там кавычки эскейпятся как надо? А то вдруг сломанная команда получается на удалённом хосте.

no-such-file ★★★★★
()

- загружать json файлом в /tmp
- в «/path/to/script» работать с файлом вместо "--params"

Как workaround - почему бы и нет

Ford_Focus ★★★★★
()

/path/to/php_binary /path/to/script --params=base64_or_safely_to_escape_char_str
как то так, имхо

etwrq ★★★★★
()
ssh2_exec($connection, "php /path/to/script --params='" . addslashes("json_encoded_long_str") . "'");


Может всё-таки вот так?

sanwashere ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.