2016-02-24 2 views
-1

Я использовал symfony до 1.4, и теперь я собираю его с 2.8. В то время все казалось намного легче. Все, что я хочу, - это создать пользователя из браузера. Кажется, я успешно установил symfony, поскольку получаю приветственное сообщение в своем браузере. Кажется, я также успешно установил fosuserbundle, так как я получил сообщение об успешной базе данных в командной строке. Теперь я хочу зарегистрировать пользователя, но я получаю 404, когда я иду на http://localhost/app.php/register или до http://localhost/register. «Регистр» -route упоминается в http://symfony.com/doc/current/bundles/FOSUserBundle/index.htmlsymfony2 fosuserbundle Войти из браузера?

Конечно, это работает: http://localhost/app.php/

Учебники, кажется, предположим, что вы знаете много о Symfony, но это должно быть что-то все новые пользователи хотят использовать?

+0

hmmm, app_dev.php/register действительно работает. –

+0

Но 'app.php' - это интерфейсный файл, используемый для доступа к приложению, развернутому в процессе производства, а не во время разработки в локали. Прочтите все соответствующие документы более тщательно. –

+0

Да ... «все связанные документы» ... –

ответ

0

в Symfony 2:

  • app.php запускает производственную среду
  • app_dev.php работает среда разработки

Если вам не нравится этот подход, у вас есть 2 решения:

  • Переименуйте app_dev.php в index.php при разработке и укажите ваш .htac налог на него

    RewriteRule ^(.*)$ index.php [QSA,L] 
    
  • Создайте файл index.php и полагаться на переменные окружения, чтобы определить вашу прикладную среду, что-то вроде этого:

    defined('SYMFONY_ENV') || define('SYMFONY_ENV', (getenv('SYMFONY_ENV') ? getenv('SYMFONY_ENV') : 'prod')); 
    
    switch (SYMFONY_ENV) { 
    case 'prod': 
        require __DIR__ . '/app.php'; 
        break; 
    
    case 'dev': 
    case 'staging': 
    case 'test': 
        require __DIR__ . '/app_dev.php'; 
        break; 
    
    default: 
        header('HTTP/1.0 500 Internal Server Error'); 
        exit('Improper SYMFONY_ENV set. See ' . basename(__FILE__) . ' for more information.'); 
    

    }

вы можете установить ваша переменная окружения в .htaccess как это

SetEnv SYMFONY_ENV development 
Смежные вопросы