Не удается включить в удаленный скрипт при запуске его через SSH - PullRequest
0 голосов
/ 14 февраля 2019

Я запускаю сценарий локально, который после завершения выполняет exec-вызов сценария на удаленном сервере.

exec("ssh user@server.com \"php /full/path/to/script.php\"", $output, $return);

Он выдает мне следующую ошибку:

PHP Warning:  require(../resources/vendor/autoload.php): failed to open stream: No such file or directory in /full/path/to/script.php on line 3

IПопытка зарядки требуемого сценария до полного пути безуспешно.Есть идеи?

1 Ответ

0 голосов
/ 14 февраля 2019

Поскольку PHP устанавливает CWD (текущий рабочий каталог) на то место, где вы находитесь после входа в SSH (предположительно, в домашнюю папку пользователя), а ссылки на включения в файле PHP интерпретируются как относящиеся к CWD.Вам нужно сменить каталог на корень вашего проекта:

exec("ssh user@server.com \"cd /full/path/to/; php script.php\"", $output, $return);
...