PHP завершает работу со статусом 1 на службе

#php #linux #systemd

Вопрос:

Мое первое приключение в мире сервисов Linux, и у меня сейчас плохие времена. У меня есть следующий сценарий:

 [Unit] Description=PHP MQTT Service   [Service] User=root Type=simple TimeoutSec=0 PIDFile=/var/run/php_app_mqtt.pid ExecStart=/opt/plesk/php/7.4/bin/php -f xyz.xx/subtest.php  StandardOutput=/var/log/myphpdaemon.log StandardError=/var/log/myphpdaemon.log   KillMode=process   Restart=on-failure RestartSec=42s  [Install] WantedBy=default.target  

Когда я вручную запускаю скрипт из командной строки, он работает просто отлично, но когда я запускаю его из службы, я получаю следующее:

 Loaded: loaded (/etc/systemd/system/mqttdaemon.service; enabled; vendor preset: enabled)  Active: activating (auto-restart) (Result: exit-code) since Wed 2021-11-10 20:51:06 UTC; 6s ago  Process: 185754 ExecStart=/opt/plesk/php/7.4/bin/php -f xyz.xx/subtest.php (code=exited, status=1/FAILURE)  Main PID: 185754 (code=exited, status=1/FAILURE)  

Это от меня, вручную запускающего службу. У меня нет подсказок, у кого-нибудь есть представление об этой проблеме?

Спасибо!

ИЗМЕНИТЬ: В указанном месте журналы не создаются

Комментарии:

1. Каково возвращаемое значение скрипта? php -f .../subtest.php ; echo $? . Он возвращается по вызову на exit $something;

2. Сценарий содержит цикл, который не остановится, пока я не отправлю команду CTRL C. Теперь я не знаю, как проверить, возвращает ли скрипт что-то при запуске службой. Я думал, что это будет в журналах.