it-swarm.com.de

Symfony 4: Beim Laden der Web-Debug-Symbolleiste ist ein Fehler aufgetreten

Ich arbeite an CentOS.

Ich bin den Tutorials gefolgt: 

Während ich Apache verwende, bin ich auch dieser Seite gefolgt:

Ich habe einen Standardcontroller und eine Standardvorlage erstellt. Mit diesem Controller (/) erhalte ich den folgenden Fehler (in der Debug-Symbolleiste):

An error occurred while loading the web debug toolbar. Open the web profiler.

Wenn ich auf den Link "Öffnen des Web-Profiler" klicke, kann ich die Apache-Antwort sehen:

Not Found
The requested URL /_profiler/177403 was not found on this server.

Im Chrome-Inspector kann ich Folgendes sehen: GET http://172.31.18.7/_wdt/177403 404 (nicht gefunden)

Hier ist der interessante Teil meines Komponisten.json:

    "require": {
        "php": "^7.1.3",
        "ext-iconv": "*",
        "doctrine/doctrine-fixtures-bundle": "^3.0",
        "sensio/framework-extra-bundle": "^5.1",
        "sonata-project/admin-bundle": "^3.35",
        "sonata-project/doctrine-orm-admin-bundle": "^3.6",
        "symfony/Apache-pack": "^1.0",
        "symfony/console": "^4.0",
        "symfony/flex": "^1.0",
        "symfony/framework-bundle": "^4.0",
        "symfony/lts": "^[email protected]",
        "symfony/maker-bundle": "^1.4",
        "symfony/orm-pack": "^1.0",
        "symfony/requirements-checker": "^1.1",
        "symfony/security-bundle": "^4.0",
        "symfony/twig-bundle": "^4.0",
        "symfony/validator": "^4.0",
        "symfony/yaml": "^4.0"
    },
    "require-dev": {
        "sensiolabs/security-checker": "^4.1",
        "symfony/dotenv": "^4.0",
        "symfony/web-profiler-bundle": "^4.0"
    },

meine httpd.conf:

<VirtualHost *:80>
DocumentRoot /var/www/html/elora/public
ServerName eloradev
ServerAlias www.elora.dev
DirectoryIndex index.php

<Directory "elora/public">
    AllowOverride all
    Order Allow,Deny
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    Allow from localhost
</Directory>

<Directory elora>
    Options FollowSymlinks
</Directory>    

ErrorLog /var/Apache/logs/error.log
CustomLog /var/Apache/logs/access.log combined  

</VirtualHost>

Und mein. Zugang:

DirectoryIndex index.php

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 307 ^/$ /index.php/
    </IfModule>
</IfModule>

Zum Abschluss wird durch meine/glückliche Nummer (/ - https://symfony.com/doc/current/page_creation.html ) die Apache-Nachricht ausgelöst: 

Not Found
The requested URL /lucky/number was not found on this server.

Es sieht so aus, als würde die Routing-Komponente nicht funktionieren.

Die Router-Regeln (Debug: Router):

-------------------------- -------- -------- ------ -------------------
Name                       Method   Scheme   Host   Path
-------------------------- -------- -------- ------ ----------------------- 
  app_homepage               ANY      ANY      ANY    /
  app_lucky                  ANY      ANY      ANY    /lucky
  app_lucky_number           ANY      ANY      ANY    /lucky/number
  _twig_error_test           ANY      ANY      ANY    /_error/{code}.{_format}
  _wdt                       ANY      ANY      ANY    /_wdt/{token}
  _profiler_home             ANY      ANY      ANY    /_profiler/
  _profiler_search           ANY      ANY      ANY    /_profiler/search
  _profiler_search_bar       ANY      ANY      ANY    /_profiler/search_bar
  _profiler_phpinfo          ANY      ANY      ANY    /_profiler/phpinfo
  _profiler_search_results   ANY      ANY      ANY    /_profiler/{token}/search/results
  _profiler_open_file        ANY      ANY      ANY    /_profiler/open
  _profiler                  ANY      ANY      ANY    /_profiler/{token}
  _profiler_router           ANY      ANY      ANY    /_profiler/{token}/router
  _profiler_exception        ANY      ANY      ANY    /_profiler/{token}/exception
  _profiler_exception_css    ANY      ANY      ANY    /_profiler/{token}/exception.css
 -------------------------- -------- -------- ------ -----------------------

Ich habe das Verzeichnis/_wdt für den Fall manuell erstellt, aber es hat nichts geändert.

Ich habe Fehler mit Debug überprüft: Event-Dispatcher, nichts Besonderes.

Ich habe festgestellt, dass sich der Cache für den Profiler in diesem Verzeichnis befindet: var/cache/dev/profiler/03/74/und 177403 heißt

Noch etwas, ich habe Composer mit dem 'root'-Benutzer ausgeführt. Und ich habe chown benutzt, um den Besitzer meines Projekts zu wechseln.

Hier ist ein Teil meiner Datei .env:

###> symfony/framework-bundle ###
APP_ENV=dev
6
Yves

Ich denke, das ist htaccess oder mod_rewrite

composer require symfony/Apache-pack
27
MooMoo Cha

Da die Antwort in einem Kommentar steht, wiederhole ich es:

Haben Sie die URL http://www.elora.dev/index.php/_wdt/ ausprobiert? Ich hatte ein ähnliches Problem, weil die URL-Umschreibung falsch war. - A.L

Das ist es ! 

  1. /index.php hat keine Probleme mit der Debug-Symbolleiste
  2. /index.php/lucky/number funktioniert

Vielen Dank A.L

5
Yves
composer require symfony/Apache-pack

Do you want to execute this recipe?
    [y] Yes
    [n] No
    [a] Yes for all packages, only for the current installation session
    [p] Yes permanently, never ask again for this project
    (defaults to n): y

Hostdatei:

127.0.0.1 symfony01.com
127.0.0.1 www.symfony01.com

httpd-vhosts.conf:  

<VirtualHost *:80>
    ServerName symfony01.com
    ServerAlias www.symfony01.com   
    DocumentRoot "c:/wamp64/www/symfony01/public"
    <Directory  "c:/wamp64/www/symfony01/public/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>
3
Akın Köker

Es klingt nach einem Cache-Schreibproblem. Die Symbolleiste Profiler/Debug stürzt ab, weil Debugdaten in den Cache-Ordner geschrieben werden. Ihre Anwendung läuft wahrscheinlich in der prod-Umgebung einwandfrei.

Um zu sehen, ob dies Ihr Problem ist, starten Sie chmod -R 777 var/cache und versuchen Sie es erneut.

Die "bessere Lösung" hängt von Ihrem Betriebssystem ab. Fühlen Sie sich frei, um weitere Informationen hinzuzufügen, um genau zu antworten. Andernfalls können Sie die Dokumentation zu Symfony here (veralteter Link absichtlich entfernt, sie haben ihn aus dem SF4-Dokument entfernt).

2
romaricdrigon

einfach hinzufügen : 

FallbackResource /index.php 

in Ihrer Verzeichniseinstellung 

    <Directory "/Library/WebServer/Documents/Your_public_symfony_directory">
            ....
            FallbackResource /index.php
            ....
    </Directory>

für mehr Dokumentation hier klicken

1
rapaelec