Laravel 5.2 queue ignora .env

Ho un'applicazione Laravel 5.2 che invia alcune e-mail quando un utente acquista un prodotto. La visualizzazione e-mail include riferimenti ad alcune immagini, come ad esempio:

<img src="{{ asset($purchase->image) }}"> 

Funziona bene in tutti e 3 gli ambienti che ho: local, staging e production. asset() costruisce correttamente gli URL completi all'image appropriata, utilizzando gli APP_URL configurati in ciascun ambiente.

Ho deciso di passare all'uso delle code di Laravel per submit le e-mail.

e fatto un acquisto di prova. Il process funziona, la posta viene inviata, ma gli URL delle immagini nelle e-mail consegnate sono errati. Sembra che il mio APP_URL configurato non venga prelevato.

.env

 APP_URL=http://localhost/path/to/app 

config / app.php

 'url' => env('APP_URL', 'http://localhost'), 

Le asset() URL asset() generate nella mia email sono:

 http://localhost/images/foo.jpg 

che non è corretto, dovrebbero essere:

 http://localhost/path/to/app/images/foo.jpg 

Sembra che l'uso di code che l' APP_URL definito nel mio .env non è visto, quindi viene utilizzato il default di http://localhost . Non usando le code, lo stesso codice funziona bene.

L'unica cosa che posso pensare è che l'ambiente CLI PHP che sta gestendo la coda è in qualche modo diverso dall'ambiente Apache PHP, ma non riesco a immaginare quale differenza possa causare l' .env .

Ho trovato una domanda simile da qualcuno che utilizza Laravel 4.2, 2 anni fa, senza risposta. Ho trovato alcuni altri riferimenti simili ma nessuna soluzione. Qualcuno ha visto questo o ha qualche suggerimento?

Grazie a @ num8er per aver trovato la soluzione.

Questo è un problema noto in Laravel che proviene da Symfony: https://github.com/laravel/framework/issues/14139

Una soluzione alternativa è fare come @ num8er suggerito nei commenti, e i routes delle risorse hard-code nelle viste, piuttosto che usare l' asset() :

 config('app.url') . '/images/' . $purchase->image