2016-05-11 4 views
0

У меня проблема с моей конфигурацией apache и несколькими моими проектами symfony. версияsymfony2 app_dev.php route get 404, но работает с app.php

Debian: 7,8 апач версия: 2.2.22 с mpm_prefork

Моя конфигурация ВХост:

<VirtualHost *:80> 
    DocumentRoot /var/www/test/web 
    ServerName test.xxx.com 
    <Directory /var/www/test/web> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 
</VirtualHost> 

В моем тестовом проекте .htaccess выглядеть следующим образом:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ app.php [QSA,L] 
</IfModule> 

Модуль перезаписи активирован (я протестировал id с помощью директив перезаписи комментариев в .htaccess и вызвал мой url).

Когда я называю prod url, как test.xxx.com и test.xxx.com/something, он работает. Но когда я вызываю app_dev.php url, фронт-контроллер никогда не выполняется. Пример: Я вызываю test.xxx.com/something, журналы ошибок apache говорят, что «Файл не существует», и у меня нет никаких журналов в dev.log в моем проекте symfony.

Я не понимаю, почему frontcontroller не выполняется в моей среде dev.

Мой app_dev.php файл:

use Symfony\Component\HttpFoundation\Request; 
$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; 
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

Почему вы отредактировали .htaccess на первом месте? Не работает ли по умолчанию? https://github.com/symfony/symfony-standard/blob/master/web/.htaccess –

+0

Я пробовал с этим .htaccess, и у меня такая же проблема. Эта проблема возникает для каждого проекта symfony на моем сервере. У меня такой же проект на другом сервере, и эта проблема не существует. – zobbiwan

ответ

0

Пожалуйста, проверьте Symfony 2.8 app_dev.php файл:

https://github.com/symfony/symfony-standard/blob/v2.8.6/web/app_dev.php

$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; становится $loader = require __DIR__.'/../app/autoload.php';

и require_once __DIR__.'/../app/AppKernel.php'; исчезает

Также измените RewriteRule в htaccess, чтобы перенаправить на app_dev.php вместо app.php

+0

Моя версия symfony 2.3 сейчас. Я знаю, что я должен обновить его, но мой проект установлен на нескольких серверах, и у меня нет времени обновить его в этом месяце. Как я уже сказал в комментарии, эта проблема возникает в каждом проекте symfony на моем сервере, но не на другом сервере, который у меня есть для одного и того же проекта. – zobbiwan

+0

Вы пытались использовать по умолчанию app_dev.php из 2.3? https://github.com/symfony/symfony-standard/blob/2.3/web/app_dev.php – grimmlink

+0

Да, у меня такая же проблема. Я думаю, что есть проблема в моей конфигурации apache, потому что я сделал сравнение между файлами конфигурации apache на моих серверах differents и там же. Я думаю, я переустановить apache и php (и удалять файлы/etc/apache/и/etc/php5 раньше), чтобы проверить, все еще проблема. – zobbiwan

Смежные вопросы