2014-10-27 13 views
5

Usunąłem $hearAboutIndustry z encji, a teraz otrzymuję błąd poniżej tylko na serwerze produkcyjnym, a nie na serwerze lokalnym i postoju! Każdy pomysł, dlaczego lub rozwiązanie?Symfony: Właściwość nie istnieje - 500 błędów serwera wewnętrznego - ReflectionException

Property Tete\AdminBundle\Entity\Customer::$hearAboutIndustry does not exist 
500 Internal Server Error - ReflectionException 

config_prod.yml

doctrine: 
    orm: 
     metadata_cache_driver: apc 
     result_cache_driver: apc 
     query_cache_driver: apc 

Co mam zrobić, aby rozwiązać go tak daleko:

  • Usunięto getter i ustawiaczy od podmiotu.
  • Usunięto cały cache i rejestruje foldery i utworzony ponownie z powrotem, INC 777.
  • tylko w przypadku biegu cache:clear --env=prod
  • Szukano hearAboutIndustry we wszystkich katalogów/plików projektu. Brak odniesienia.
  • Uruchom doctrine:schema:update. DB jest aktualizowane.
  • Uruchom doctrine:generate:entities. Jednostka jest zaktualizowana.
  • app/doktryna konsola: cache: clear-metadata
  • doktryna app/console: cache: clear-query
  • app/doktryna konsola: cache: clear-wynik
+0

Używasz buforowanie APC lub inną buforowanie z nauką? Jednym ze sposobów powiedzenia jest, czy doctrine.orm.metadata_cache_driver i doctrine.orm.query_cache_driver są ustawione w config.yml –

+0

Tak, robię. Myślę, że to dobrze. Jestem na Ubuntu AWS. – BentCoder

+0

Zastosowałem [to rozwiązanie] (http://stackoverflow.com/questions/11826444/symfony2-doctrine-clear-cache), ale bez powodzenia. – BentCoder

Odpowiedz

5

Jak sugeruje Adam powyżej w komentarz, lepiej zrestartujmy Apache, jeśli wszystkie powyższe rozwiązania zostały wypróbowane i nie osiągnęły żadnego sukcesu. Rozwiązaniem jest:

sudo apachectl graceful

+0

Fajnie, cieszę się, że pracowałeś dla ciebie;) Miałem podobny problem z używaniem APC do ładowania klas, zajęło mi wieki, aby to zrozumieć –

+2

Zmarnowałem około 6 godzin, aby to rozwiązać :) Teraz mogę spać . Jeszcze raz dziękuję. – BentCoder

+1

Miałem problem z usunięciem pola z encji i ciągle wyrzucałem błąd. Próbowałem ręcznie wyczyścić pamięć podręczną i tak dalej. Ponowne uruchomienie Apache rozwiązało problem. Dziękuję za to. – Skylord123

0

„Stary, ale nadal zdarza” Jeśli żadne z rozwiązań wymienionych powyżej pracował spróbuj usunąć plik cache Entity ręcznie: (np ścieżka kostiumer plik cache Podmiot powinien być to jeden)

projectdirectory \ nazwa projektu \ var \ cache {dev lub prod} \ jms_serializer \ Tete-AdminBundle-Entity-Customer.cache.php

4
  • php app/console doctrine: cache: clear-query --env = prod

wpisy cache ominięciem wszystkich zapytań

  • php app/doktryna konsola: cache: clear-result --env = prod

Usuwanie wszystkich wpisów pamięci podręcznej wyników

  • php app/console doctrine: cache: clear-metadata --env = prod

Clearing wszystkie metadane wpisy cache

  • php app/console cache: clear - -env = prod

Czyszczenie pamięci podręcznej dla środowiska prod z debugowania fałszywych

i nie zapomnij umieścić --env = prod do poleceń

0

miałem podobny problem, po prostu stosować doktrynę: Odwzorowanie: import i to było to.

Cheers

0

Mieliśmy ten sam problem i w naszym przypadku (Nginx), restart Nginx nie pomogło.

Ale restart memcache było właściwe rozwiązanie:

sudo service memcached restart 
Powiązane problemy