最新5.1 Laravel 5.1.27 最新DOMPDF在0.6.2郵件隊列和DOMPDF工作完美的作品上宅基地,但不是我的生產服務器
所以我有一封電子郵件,該附加一個生成的PDF,即排隊。
在宅基地上進行測試,無論是手工還是工匠:工作和藝術家:聽,這一切都運行良好,我用附帶的PDF完美地收到了電子郵件。
只有在我的生產服務器上,它具有相同的參數,至少對於我所能看到的,不起作用!如果
的所有作品,同步使用郵件發送::
當更新郵件:隊列,我得到的工作卡,對生產我有工匠導師:聽--tries = 10,它得到失敗,並轉移到failed_jobs表。
啊哈,郵件::隊列workes完美若無PDF附件
,所以我可以釘下來到由DOMPDF只有在生產,只有在排隊的作業拋出異常!
exception 'ErrorException' with message 'Undefined index: SCRIPT_FILENAME' in /home/myapp_name/vendor/dompdf/dompdf/include/stylesheet.cls.php:147
所以這行stylesheet.cls.php:147
list($this->_protocol, $this->_base_host, $this->_base_path) = explode_url($_SERVER["SCRIPT_FILENAME"]);
所以一切都歸結爲是對CLI(命令行界面),不具有此$ _ SERVER [」 SCRIPT_FILENAME「]定義!
一切都將有利於沿着這條道路走下去,但爲什麼當宅基地,也是在CLI的工作處理工作完美時,它會工作得很好?
希望我有道理! 代碼隊列
$data = [bla bla bla]; // this $data is for the blade render, and is different from the one used in the Closure, for the PDF, i know =)
Mail::queue('emails.default', $data , function($message) use ($destinatarios, $user_spo_full_name, $spare_part_order, $spare_parts_order_list)
{
$message->to($destinatarios);
$message->subject('Spare Part Order Confirmation - Your ref: ' . $spare_part_order->client_reference);
$data =
[
'user_full_name' => $user_spo_full_name,
'spare_part_order' => $spare_part_order,
'spare_parts_order_list' => $spare_parts_order_list
];
$pdf = PDF::loadView('spareparts.sparepartsorder.pdf.spare-part-order', compact('data'));
$message->attachData($pdf->output(), 'SP_'.$spare_part_order->client_reference . '.pdf');
});
提前任何幫助的感謝和新年快樂!一切
你可以發佈你的composer.json文件嗎?如果你在require-dev下寫下它們,這可能是問題所在。 –
當然,現在不在工作,但我想是沒有任何關於需要開發包的東西,因爲所有的作品,只要將Mail :: queue更改爲Mail :: send ....當然這會使它同步運行,並且再延長10倍(發送電子郵件)! – iboinas
如果它在一臺服務器上工作,但不在另一臺服務器上,那麼這可能是兩者之間的配置差異。有些事情要看:環境變量,'.env'文件,'composer.json',你的Laravel配置文件,任何軟件包的配置文件(也許你忘了發佈一個?) – Kryten