2014-01-11 9 views
6

Ich habe gerade eine neue Version von Symfony 2.4.1 auf Debian 7.3 heruntergeladen.Symfony 2.4: Beim Laden der Web-Debug-Symbolleiste ist ein Fehler aufgetreten (404: Not Found)

Die URL /Symfony/web/config.php öffnet richtig, aber wenn ich konfigurieren gehen, erhalte ich:

The requested URL /Symfony/web/app_dev.php/_configurator/ was not found on this server. 

Wenn ich Konfiguration umgehen und offene /Symfony/web/app_dev.php die Seite angezeigt wird, aber ein Fehler erscheint sagen:

An error occurred while loading the web debug toolbar (404: Not Found) 
Do you want to open the profiler? 

Wenn ich akzeptieren, erhalte ich:

The requested URL /Symfony/web/app_dev.php/_profiler/54a8bf was not found on this server. 

In anderen Fragen (z.B. Symfony 2: 404 Not Found Error when tryes to open /app_dev.php) Leute schlagen vor, mit der .htaccess Datei zu spielen. Ich habe sogar versucht, es zu entfernen, aber es hatte keine Wirkung.

Die Datei zeigt Apache-Log:

File does not exist: /var/www/Symfony/web/app_dev.php/_wdt/54a8bf, referer: http://wwwtest.di.unipi.it/Symfony/web/app_dev.php 
File does not exist: /var/www/Symfony/web/app_dev.php/_profiler/54a8bf 

es wie das Routing zu jeder inneren URL So sieht nicht, trotz der Tatsache, dass das richtige Routing an seinem Platz zu sein scheint:

> app/console router:debug 
[router] Current routes 
Name      Method Scheme Host Path 
_wdt      ANY ANY ANY /_wdt/{token} 
_profiler_home   ANY ANY ANY /_profiler/ 
_configurator_home  ANY ANY ANY /_configurator/ 
... 
+3

Die Lösung gefunden. Es muss AcceptPathInfo On zur Apache vhost-Konfiguration oder zu .htaccess hinzugefügt werden. – user1746277

+0

Bitte korrigieren Sie den Tippfehler im Titel. ;) –

+7

Wenn Sie die Lösung gefunden haben, können Sie Ihre eigene Frage beantworten, damit andere leichter von der Antwort profitieren können, wenn Sie suchen. – Chausser

Antwort

1

Die Lösung für mich war, meine app_dev.php Datei zu aktualisieren, um die in der Symfony2 Repo

zu ähneln Beachten Sie die Debug-Klasse verwendet wird. Dies wurde in älteren Versionen von Symfony nicht verwendet. Ich habe diese Datei aktualisiert und der JavaScript-Alarm scheint weg zu sein.

<?php 

use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\Debug\Debug; 

// If you don't want to setup permissions the proper way, just uncomment the following PHP line 
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information 
//umask(0000); 

// This check prevents access to debug front controllers that are deployed by accident to production servers. 
// Feel free to remove this, extend it, or make something more sophisticated. 
/* 
if (isset($_SERVER['HTTP_CLIENT_IP']) 
    || isset($_SERVER['HTTP_X_FORWARDED_FOR']) 
    || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) 
) { 
    header('HTTP/1.0 403 Forbidden'); 
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); 
} 
*/ 
$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; 
Debug::enable(); 

require_once __DIR__.'/../app/AppKernel.php'; 

$kernel = new AppKernel('dev', true); 
$kernel->loadClassCache(); 
$request = Request::createFromGlobals(); 
$response = $kernel->handle($request); 
$response->send(); 
$kernel->terminate($request, $response); 
0

Ist das folgende in web/app_dev.php vorhanden? Die Zeile darunter hat es für mich festgelegt.

$kernel->terminate($request, $response); 
0

Apache Direktive DirectoryIndex app.php macht die Tricks für mich. Ich habe es in Apache vhost conf mit AllowOverride None, um Override von .htacces zu verhindern.

Hoffe diese Hilfe.

Verwandte Themen