Привет всем,
Мой сценарий: у меня есть работа, которая отправляет электронное письмо вместе с приложенным PDF-файлом.PDF создается в дескрипторе задания () и прикрепляется к письму.Чтобы сделать работу с пользователем более удобной, я использовал очередь для отправки электронной почты.Итак, все остальные электронные письма работают нормально, кроме случаев, когда я генерирую PDF: loadView.Кроме того, PDF отлично работает на локальном хосте (WAMP). Однако он выдает вышеупомянутое исключение и помещается в таблицу failed_jobs в базе данных.
Пример моей работы Class :: EmailTestPdf
class EmailTestPdf implements ShouldQueue
{
protected $data;
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function __construct(array $data)
{
$this->data = $data;
}
public function handle()
{
$d=$this->data;
$d['doc'] = PDF::loadView('email.test',compact('data','survey'));
Mail::send('email.testpdf', $d, function ($message) use ($d)
{
$message->from(abc@gmail.com, 'Tester');
$message->subject('Subject Title');
$message->to('me@gmail.com');
$message->attachData($d['doc']->output(), 'test.pdf', ['mime' => 'application/pdf']);
});
}
}
В методе контроллера, который я использовал:
EmailTestPdf::dispatch($data)->delay(now()->addSeconds(5));
Вышеописанное прекрасно работает на localhost.Тем не менее, это не работает на живом сервере.Кроме того, на сервере CentOS я реализовал supervisor , как показано ниже:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/coreso5/ptesting/artisan queue:work database --sleep=3 --
tries=3
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/home/coreso5/ptesting/storage/logs/worker.log
После выполнения теста при отправке PDF-файла он выдаст ошибку, которую я обнаружил в таблице failed_jobs
ErrorException: неопределенный индекс: SCRIPT_FILENAME в /ptesting/vendor/dompdf/dompdf/src/Css/Stylesheet.php:175
...............
Подсветка \ Foundation \ Bootstrap \ HandleExceptions-> handleError (8, 'Неопределенный индекс ...', '/ ptesting / v ...', 175, Array)