2013-02-04 8 views

Odpowiedz

41

Rozwiązałem go wyczyszczenie pamięci podręcznej:

app/console cache:clear 
+2

Czy to była trwała poprawka? Czy potrzebujesz czegoś innego? tj. - zaktualizuj instalację Symfony 2. – richelliot

21

wersja PHP 5,4 wprowadziła nowy system zarządzania sesją opartą na interfejsie o nazwie SessionHandlerInterface i wydaje się, że Twój kod Symfony2 deklaruje klasę z tej samej nazwie w globalnej przestrzeni nazw, więc nie jest to nazwa zderzenie.

Oto docs: http://www.php.net/manual/en/class.sessionhandlerinterface.php

SessionHandlerInterface is an interface which defines a prototype for creating a custom session handler. In order to pass a custom session handler to session_set_save_handler() using its OOP invocation, the class must implement this interface.

+1

Kto upadł i dlaczego? Oo –

+2

może dlatego, że był "informatywny", a nie "rozwiązanie" per se ... ale mam moją miłość :) – yogee

+0

Dzięki za info +1 :) – xil3

14

Prosta jasne cache nie działa dla mnie. Wymagało wyczyszczenia pamięci podręcznej produkcji za pomocą poniższego polecenia.

php app/console cache:clear --env=prod --no-debug 
+0

co masz na myśli z --no-debug? – ahmedbhs

2

Upewnij zdefiniowaniu nazw w interfejsie SessionHandlerInterface

EX:

namespace app\cache\dev; 
+0

Dzięki za wskazanie tego. Całkowicie tego nie zauważyłem. :) – Tek

7

Spróbuj wyczyścić pamięć podręczną Symfony2 z jednym (lub wszystkie) z poniższych poleceń:

php app/console cache:clear --env=prod --no-debug (on production mode) 

lub/i

php app/console cache:clear --env=dev --no-debug (on development mode) 
3

Tylko ten pracował dla mnie rm -rf app/cache/*

-1

miałem problemy z buforowaniem nawet przy użyciu app_dev.php. Zmieniłbym trasę, ale nie zaktualizowałaby się, gdy próbowałam uzyskać do niej dostęp za pośrednictwem przeglądarki.

Próbowałem komentować wszystko, co zawierało pamięć podręczną (jak podano powyżej). Nic z tego nie działało.

Jeśli uruchomiłem pamięć podręczną konsoli: wyczyść, naprawię ją, ale następna zmiana trasy zostanie przerwana. Musiałem uruchomić cache: jasne przy każdym zapisie, co było śmieszne.

Mój problem okazał się, że ponieważ pracowałem zdalnie przez SFTP, PHP Storm (mój redaktor) "zachowywał znacznik czasu" w swojej konfiguracji wdrożenia. Po zmianie tej konfiguracji problemy zniknęły. Najwyraźniej trwa buforowanie, które polega na sprawdzaniu znaczników czasu pliku, nawet w środowisku programisty.

Powiązane problemy