У меня довольно длинный php script, и всякий раз, когда мое интернет-соединение проскакивает на секунду, браузер, похоже, останавливает script. Я не могу сидеть 8 часов для запуска script, поэтому я решил, что могу запустить его через ssh и вернуться на следующий день и получить свой выходной файл. Однако простой ввод имени скрипта в ssh не работает. есть ли специальная команда для запуска php-скриптов через ssh?
Как запустить PHP скрипт через SSH?
Ответ 1
Если ваше интернет-соединение выйдет из строя, то это, вероятно, будет проблемой и в SSH, и хорошо, что открыть окно SSH не всегда лучше всего (что произойдет, если вы случайно закроете ssh)?
Я бы предложил SSHing на сервере, а затем запустить программу под названием " screen", которая будет продолжать работать независимо от того, его, даже если ваше соединение падает.
Чтобы сделать это, сначала введите ssh на сервер и введите
screen
Это приведет к загрузке экрана, нажмите enter, чтобы обойти экран приветствия
Теперь запустите PHP скрипт
php /path/to/your/php/script.php
это запустит запуск PHP,
Теперь вы можете закрыть окно, и script будет продолжать работать
Чтобы вернуться к сеансу экрана, подключитесь к серверу и запустите команду
screen -raAD
который снова подключит вас к вашей сессии, как если бы вы все время открывали окно.
Это действительно неплохо для запуска длинных скриптов или даже для запуска IRC-сессии на консоли: D
Ответ 2
В общем, вы должны иметь возможность запускать script из командной строки, например,
php myscript.php
Выполнение этого на удаленном хосте через ssh можно сделать следующим образом
ssh [email protected] "php myscript.php"
Ответ 3
В дополнение к тому, что все остальные сказали, вы, вероятно, захотите также использовать nohup
.
ssh [email protected] "nohup PHP скрипт.php"
Таким образом, он будет продолжать работать, даже если ваше ssh-соединение падает. Вы также можете использовать screen
вместо nohup
, если хотите.
Ответ 4
попробуйте
PHP скрипт.php.
Если это не сработает, вам нужно будет найти исполняемый файл php, а затем выполнить его.
Btw, вы можете использовать экран, поэтому, если соединение с компьютером потеряно, script все еще работает.
Ответ 5
В качестве альтернативы вы можете просто вызвать ignore_user_abort()
и закрыть браузер после того, как вы нажмете на страницу.
Ответ 6
nohup php -q/path-to-script/file.php & Выход
выполнит файл php и закроет консоль без завершения процесса.