symfony2 - jak przełączyć się z " dev "na"prod"?
Ściągnąłem symfony2 i jestem w stanie uruchomić go zaczynając od app_dev.php.
Ale kiedy zaczynam od app.php, potem dostaję stronę błędu 404.
App.php jest oczywiście tam i jest wykonywane.
Błąd występuje najwyraźniej gdzieś po ostatniej linijce kodu w aplikacji.php:
$kernel->handle(Request::createFromGlobals())->send();
Myślę, że gdzieś jest przełącznik, który muszę skonfigurować.
EDIT :
Zgodnie z sugestią GeLo dodałem routing dla wersji produkcyjnej do app / config/routing.yml.
_welcome:
resource: "@AcmeDemoBundle/Resources/config/routing.yml"
prefix: /
Utworzyłem src / Acme / DemoBundle/Resources/config / routing.yml o treści:
bla:
pattern: /
defaults: {_controller:AcmeDemoBundle:Demo:index}
W DemoController::indexAction()
umieściłem die(__FILE__)
;
Nic; wciąż dostaję 404 z app.php !?
EDIT regarding the answer:
./app/console --env=prod cache:clear
Udało się. zwróć uwagę na parametr env. 6 answers
Domyślnie Symfony 2 jest dostarczany z pakietem demo, który jest dostępny tylko ze środowiska programistycznego.
Środowisko produkcyjne nie zawiera żadnej trasy, więc to normalne, że dostajesz stronę błędu 404.
EDIT:
Czy jesteś pewien, że Twój Pakiet jest włączony w AppKernel?php ?
Jeśli tak, Wyczyść pamięć podręczną za pomocą następującego polecenia: ./app/console cache:clear
Sprawdź, czy trasa jest włączona za pomocą następującego polecenia: ./app/console router:debug
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-30 20:05:39
Zamiast tego Zmień właściciela.sudo chown www-data:www-data -R app/cache
sudo chown www-data:www-data -R app/logs
To pozwala przeglądarce posiadać foldery.
składnia jest:chown <USER>:<GROUP> <SWITCH> <DIRECTORY>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-09 23:09:58
Chciałem tylko zintegrować kilka porad na ten problem, ponieważ miałem do czynienia z nową instalacją fresh Symfony2.
Jako nowa instalacja zwykle dostajesz AppBundle pod /src / AppBundle razem z AcmeDemoBundle pod / src/Acme / DemoBundle
Jeśli chcesz uruchomić AcmeDemoBundle na app_dev i, w międzyczasie, mieć aplikację (np.php (i uniknąć 404 ) można też zrobić coś takiego że:
W /app/config/routing_dev.YML skomentuj następujące wiersze (jeśli je masz):
_main:
resource: routing.yml
W / app/config / routing.yml Dodaj nową trasę ( jeśli nie masz)
index:
pattern: /
defaults: { _controller: AppBundle:Default:index }
Następnie Opróżnij cache, jak już zalecali inni i przetestuj aplikację na
1) http: / / your_application_path / web /
2) http: / / your_application_path / web / app_dev.php
Jeśli wszystko jest w porządku na pierwszym należy dostać biały strona z ciągiem " Strona główna." ( aby edytować ten jeden wejść w / app / Resources/views/default / index.html.gałązka... Układ dla tego to podstawa.html.gałązka), a na drugim powinieneś dostać DemoBundle dostarczone przez Symfony2.
Mam nadzieję, że to pomoże!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-15 08:34:52
Naprawiłem to po prostu pozwalając na konto serwera www (tj. 'master-chef' właścicielem katalogu/Symfony2/app/cache / prod. Polecenie jak poniżej:
$sudo chown master-chef -R /var/www/Symfony2/app/cache/prod
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-08 07:03:57
W Twoim " web/app.php " plik
$kernel = new AppKernel('prod', false);
Zmień wartość na "true".
$kernel = new AppKernel('prod', true);
Teraz możesz załadować aplikację w trybie produkcyjnym.
Twój problem jest związany z cache Symfony2. Miałem te same problemy. Spróbuj tego:
sudo php app/console cache:clear --env=prod --no-debug
-
sudo chmod 777 -R ../sf2/
(sf2) jest głównym katalogiem mojego proyect
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-08 07:03:41