2015-11-14 37 views
6

W dokumentach Laravel zaleca się uruchamianie produkcji ./artisan config:cache, aby przyspieszyć działanie. To świetnie w Heroku, ponieważ każda kompilacja wywołuje nowy stan systemu plików, więc nie musimy nawet kłopotać się z czyszczeniem pamięci podręcznej między wdrożeniami.Jak skonfigurować pamięć podręczną w Laravel wewnątrz Heroku? tj. zbuduj inną ścieżkę niż środowisko wykonawcze

ALE: jeśli dodasz to polecenie do swojej procedury wdrażania (na przykład przez Composer) twoja aplikacja Laravel zacznie się zawieszać, ponieważ będzie szukała plików w ścieżkach, które już nie istnieją (np. /tmp/random_string). Jeśli uruchomisz heroku run pwd, zauważysz, że aplikacja runtime działa pod numerem /app.

Wygląda na to, że ./artisan config:cache przechowuje tymczasową ścieżkę budowania w buforowanych ustawieniach, podczas gdy aplikacja działa w innej ścieżce. Czy można zmienić ścieżkę używaną w wynikowej pamięci podręcznej konfiguracji?

Odpowiedz

3

Najlepiej zrobić to przy rozruchu, a nie w czasie budowy. W tym celu trzeba zmodyfikować ty composer.json dodać:

"warmup": [ 
    "php artisan config:cache", 
    "php artisan route:cache" 
], 

a następnie zmodyfikować swój procfile coś jak web: composer warmup && $(composer config bin-dir)/heroku-php-apache2 public/

Kredyty wskazówka idzie do Dawida ze wsparcia Heroku!

+0

Kudos do Davida! Jak to zdobyłeś? Czy otworzyłeś zgłoszenie do pomocy technicznej, pytając o to? – igorsantos07

+0

Tak, ich odpowiedź była dość szybka. Przekierował mnie do [Heroku + Symphony doc] (https://devcenter.heroku.com/articles/getting-started-with-symfony#creating-a-procfile) –

+0

Cool! Nie wiedziałem, że mają dokumenty dla konkretnych ram. Jeśli bilet jest nadal otwarty, poproś go o napisanie o tym w https://devcenter.heroku.com/articles/getting-started-with-laravel – igorsantos07