2016-06-18 4 views
6

Ich habe Probleme mit Mail::queue() und nicht sicher, was kann auch getan werden, um es außerhalb der eigenen Job zu lösen, um die Warteschlange zu lösen. Wie Sie auf dem Screenshot unten sehen können, habe ich ein extrem minimales Beispiel, das ich in artisan tinker ausführen möchte. Hat jemand dieses Problem gelöst?Laravel Mail :: queue Fehler: Serialisierung der Schließung fehlgeschlagen, auch mit der einfachsten Verwendung

Das funktioniert völlig in Ordnung, wenn ich stattdessen Mail::send() verwenden;

error screenshot

+0

Verwenden Sie SuperClosure? –

+0

Sie können in der PHP-Fehler dort sehen, dass SuperClosure verwendet wird, aber das ist irgendwie nicht der Punkt. Der Punkt ist, dass der obige Code weder in Tinker noch in der eigentlichen Anwendung funktioniert. Ich versuche herauszufinden, ob es eine Konfigurationsoption an meinem Ende ist oder ob dies ein Problem ist, das bei einer Standardinstallation von Laravel 5.2 auftritt. – Nathan

+0

Er wird von Laravel im Laravel/framework/composer.json benötigt. – Nathan

Antwort

0

Verschlüsse sind nicht serialisierbar. Sie können sie nicht in die Warteschlange schieben.

Psy Shell v0.8.3 (PHP 7.1.0 — cli) by Justin Hileman 
>>> serialize(function(){}); 
Exception with message 'Serialization of 'Closure' is not allowed' 
+0

Dies ist ein älterer Beitrag und Ihre Antwort ist nicht anwendbar. In Laravel 5.2 befindet sich der obige Code immer noch auf der 5.2-Dokumentation, aber es funktioniert nicht. 'Mail :: queue ('emails.welcome', $ data, function ($ message) { // });' ist der Dokumentationsseite entnommen. Wie auch immer, dies ist größtenteils geschlossen, da es mehrere Versionen gibt und das gesamte Queuesystem sich geändert hat. – Nathan