Назад | Перейти на главную страницу

Команда Plesk работает в ручном скрипте, а не в crontab

Чтобы установить план хостинга, я использую команды Plesk в SSH, как указано в их официальном руководстве. При вводе непосредственно в SSH (Putty) он работает отлично. Строка выглядит следующим образом с явно жестко запрограммированными значениями в CLI:

/usr/local/psa/bin/domain --create '.$url.' -owner mynamehere -ip '.IP_SERVER_PLESK.' -status enabled -hosting true -hst_type phys -login '.$ftp_user.' -passwd '.$ftp_pw.' -www false -php true -php_safe_mode false -hard_quota 100M

Затем я помещаю этот запрос в скрипт php, который выполняет другие действия после установки хостинга. Теперь о странной части: при вызове этого скрипта из CLI он также работает нормально, я делаю ./myscript.php и он устанавливает хостинг, затем отправляет электронные письма и т. д.
Однако после того, как я создаю задание cron для регулярного вызова того же сценария, команда Plesk не работает. Cronjob запускается в Plesk как

*/15 * * * *      /usr/bin/php /home/scripts/myscript.php

и он отлично работает для всего, НО установка хостинга Plesk, которая возвращает

«Невозможно прочитать файл конфигурации панели управления» и поэтому не устанавливает хостинг домена. Тем не менее, это тот же сценарий, который я вызываю вручную!

На этом сервере PHP используется для вызова cronjob, а тот, который используется в CLI, отличается? Что мне не хватает, помощь очень ценится!

С уважением.

Посмотрите на окружающую среду при интерактивном запуске (т.е. set или env). Скорее всего, существуют некоторые переменные среды, которые говорят Plesk, где находятся части. Вам нужно будет продублировать эти переменные в среде, в которой работает ваш php-скрипт - возможно, с помощью скрипта-оболочки bash.