2017-07-24 15 views
6

Symfony działa prawidłowo, ale pojawia się ten błąd po otworzyć w przeglądarce Całe kontroler jest pusty ResponseSymfony błąd krytyczny

FatalThrowableError 

Type error: Return value of Doctrine\Common\Annotations\AnnotationRegistry::registerLoader() must be an instance of Doctrine\Common\Annotations\void, none returned 

Oto mój plik konfiguracyjny, mogę korzystać z wielu baza danych,

# Doctrine Configuration 
doctrine: 
    dbal: 
     default_connection: admin 
     connections: 
      admin: 
       driver: pdo_mysql 
       host: '%database_host%' 
       port: '%database_port%' 
       dbname: '%database_name%' 
       user: '%database_user%' 
       password: '%database_password%' 
       charset: UTF8 
      public_branch: 
       driver: pdo_mysql 
       host: '%database_host1%' 
       port: '%database_port1%' 
       dbname: '%database_name1%' 
       user: '%database_user1%' 
       password: '%database_password1%' 
       charset: UTF8 

    orm: 
     auto_generate_proxy_classes: '%kernel.debug%' 
     default_entity_manager: admin 
     entity_managers: 
      admin: 
       connection: admin 
       auto_mapping: true 
      public_branch: 
       connection: public_branch 
       mappings: 
        AdminBundle: ~ 
        PublicBranchBundle: ~ 

Co mogę zrobić?

Odpowiedz

8

I rozwiązać ten problem poprzez aktualizację mojego php z 7.0 do 7.1, stosując następujące polecenia:

sudo add-apt-repository ppa:ondrej/php 
sudo apt-get update 
sudo apt-get install php7.1-curl php7.1-xml php7.1-zip php7.1-gd php7.1-mysql php7.1-mbstring php7.1 
+0

nie działa dla mnie z PHP 7.1.6-1 ~ ubuntu16.10.1 + deb.sury.org + 1 (cli) (zbudowany: 9 czerwca 2017 08:27:12) (NTS) i PHP 7.1.7-1 + ubuntu16.10.1 + deb.sury.org + 1 (cli) (zbudowany: 7 lipca 2017 09:42:38) (NTS) - świeża instalacja utworzona za pomocą instalatora symfony – Dado

+0

Czy to twoja wersja php? Co otrzymałeś z php -v? –

+0

Czy twój błąd jest podobny do mnie? –

12

Niestety nie każdy serwer prod mogą zostać zmodernizowane, że po prostu.

Najnowsze aktualizacje Doktryn wymagają PHP 7.1..

Można obniżyć ORM do 2,5 i koniecznie adnotacji do 1.4:

"doctrine/orm": "2.5.6", 
    "doctrine/annotations": "1.4.*", 
    "doctrine/dbal": "2.5.4", 

ten sposób można nadal korzystać z PHP 7,0.

+0

dziękuję bardzo :) –

+0

Zgaduję, że w swoim kompozytorze było coś takiego jak "dev-master" lub "2. *" (nie wysłałeś tego). Upewnij się, że posiadasz poprawione wersje, aby zapobiec tego rodzaju problemom. :) – webDEVILopers

+1

nie wszystkie są stabilną wersją, plik kompozytora jest tworzony z instalatorem symfony –

10

Jaki problem ustalone dla mnie było, po uaktualnienie do PHP 7.1 również umożliwić PHP 7.1 dla apache2 przez

$ sudo a2enmod php7.1 

miałem również wyłączyć PHP 7.0 z jakiegoś powodu:

$ sudo a2dismod php7.0 
+0

dobry połów. wielki – Nandakumar

+0

Miałem ten sam błąd, dzięki notatce wyłączenia starszej wersji! Wspaniały! –

1

Jeśli niektórzy nadal stoi sam problem, albo przenieść do php 7.1 lub po prostu zrobić

composer update 

zostanie ona automatycznie obniżyć doktryn/adnotacje od 1,5 do 1,4, które pracują z php < 7,1

+0

To nie zadziałało i przetestowałem to. –

+0

@ A.Seddighi to działało dla mnie –

Powiązane problemy