Как в Symfony удобнее всего переключаться между средами?

Добрый вечер.
Как настроить nginx для удобного переключения между app.php и app_dev.php?
Пробовал делать для production acme.com/... а для development acme.com/app_dev.php/...
Столкнулся со следующей проблемой: в среде development не грузится статика, т.к. запросы идут на acme.com/app_dev.php/foo.js
Можно сделать rewrite в location'е для статики, убирающий app_dev.php из адреса, но у меня не вышло :) Да и не уверен, что это лучший из вариантов.
Отдачу статики через контроллер в среде dev не могу из-за шрифтов, которые приходится копировать вручную в папку web/fonts (средствами symfony, я там понимаю, их не отдать, как другую статику).

Конфиг nginx
root /home/ivan/sites/acme.com/web;

location / {
    try_files $uri /app.php$is_args$args;
}

location ~* \.(?:jp?g|gif|png|ico|svg|css|js|swf|zip|tar|tgz|gz|rar|bz2|doc|docx|xls|xlsx|ppt|pptx|exe|msi|txt|mp3|mp4|mkv|mpg|mov|fla|eot|otf|ttf|woff)$ {
    expires 360d;
    access_log off;
    log_not_found on;
    
    # пытался сделать тут костыль, но он не работает
    # if ($request_uri ~ ^/(app|app_dev).php) {
    #     rewrite ^/(app|app_dev).php/$ /$1 last; break;
    # }
    
    try_files $uri =404;
}

location ~ ^/(app|app_dev|config)\.php(/|$) {
    fastcgi_pass php-fpm-acme;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    set $fsn /app.php;
    if (-f $document_root$fastcgi_script_name){
        set $fsn $fastcgi_script_name;
    }
    include conf.d/fastcgi.conf;
    fastcgi_param SERVER_ADMIN admin@$hostname;
}

location ~ /\. {
    deny all;
    access_log off;
    log_not_found off;
}


Кто как вообще переключается между app.php и app_dev.php? Может dev на поддомен вешаете или еще как?
  • Вопрос задан
  • 3343 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Собственно...
/ - prod
/app_dev.php/ - dev


То есть для dev энвайрмента то что вы видите app_dev.php это как бы нормально. Это же только для дебага.

Что до статики - не понял о чем вы. Просто вам нужно в Resources это все перенести и позволить asseticу делать за вас это дело.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы