Я использую рабочие Laravel для выполнения некоторых фоновых задач. Когда я вызываю воркера с помощью php artisan queue: work, он работает без проблем.
Но когда я добавляю ту же команду в супервизор в CentOS, используя следующую конфигурацию:
[программа: laravel-worker]
имя_процесса =% (имя_программы) s _% (номер_процесса) 02d команда = php
/ var / www / html / laravel / artisan queue: работа
autostart = true
autorestart = true
пользователь = корень
numprocs = 8
redirect_stderr = правда
stdout_logfile = / var / www / html / laravel / worker.log
Я получаю следующую ошибку:
Неустранимая ошибка PHP: класс SoapClient не найден в / var / www / html / laravel / app / External / library / RegistrationServi ce.php в строке 169
[Symfony \ Component \ Debug \ Exception \ FatalErrorException] Класс SoapClient не найден
Задания не выполняются с жалобой на то, что SoapClient не найден (хотя он установлен). Класс SoapClient наследуется простым классом PHP, который я загружаю извне.
Обратите внимание, что я могу использовать этот класс через контроллер или задания при выполнении из командной строки без каких-либо проблем, только в супервизоре он выдает мне сообщение об ошибке. Что еще более странно, это происходит только с одним заданием, которое использует этот внешний класс, этого не происходит с заданиями, которые используют только классы Laravel (контроллеры, события и т. Д.).