Поместите рабочую среду приложения Symfony2 на сервер

Я создал приложение Symfony2 в среде разработки на локальном сервере, а когда закончил, загрузил его на сервер. На сервере отображается корректно, но файлы .js и .css не определяет. Я предполагаю, что проблема связана с Assetic, который я использовал в среде разработки. Я видел, что в среде разработки нужно было запускать php app / console asetic: dump --env = prod --no-debug, но на моем бесплатном хостинге я не могу запускать командные строки.

Мой конфигурационный файл config. yml выглядит следующим образом:

  # Assetic Configuration
assetic:
 debug:          "%kernel.debug%"
 use_controller: false
 bundles:        [ ]
 #java: /usr/bin/java
 filters:
    cssrewrite: ~
    #closure:
    #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
    #yui_css:
    #    jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"

Я впервые развернул проект такого типа, поэтому не очень хорошо знаю, как это сделать. Не могли бы вы сказать мне, какие шаги я должен предпринять, чтобы решить эту проблему?

заранее спасибо

ИЗМЕНИТЬ

У меня есть это в моем макете:

<link href="{{ asset('bundles/school/css/estilo.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('bundles/backend/js/jquery-ui/jquery-ui.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('bundles/school/js/e-calendar-master/css/jquery.e-calendar.css') }}" rel="stylesheet" type="text/css" />

...//some more

И запустив app/console asetic:dump --env=prod, я получаю только это:

Dumping all prod assets.
Debug mode is off.

В поисках информации я видел что-то вроде этого:

{% stylesheets

  'bundles/school/css/estilo.css'
  'bundles/backend/js/jquery-ui/jquery-ui.css'
  'bundles/school/js/e-calendar-master/css/jquery.e-calendar.css'
%}
   <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

При этом я создаю файл .css внутри папки web/css.

Могу ли я решить свою проблему с некоторыми из них?


person Joseph    schedule 15.10.2017    source источник


Ответы (1)


Сначала нужно добавить в список пакетов файлов config.yml в параметр пакетов, где вам нужно включить актив:

assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        [ AppBundle, DesignBundle ],
    filters:
        cssrewrite: ~

Затем вам нужно выполнить команды для генерации файлов:

bin/console assets:install
bin/console assetic:dump --env=prod

ОБНОВЛЕНИЕ №2:

Попробуйте что-то подобное в шаблоне ветки:

{% stylesheets filter='cssrewrite'
    'bundles/app/public/css/main.css'
    {# or #}
    '@AppBundle/Resources/public/css/main.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

и для js

{% block javascripts %}
    {% javascripts
        'bundles/app/public/js/main.js'
        {# or #}
        '@AppBundle/Resources/public/js/main.js'
    %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock javascripts %}
person mlivan    schedule 16.10.2017
comment
Привет @mlivan, он выполнил то, что вы говорите, добавив пакеты, которые у меня есть в моем проекте, так как я не создал AppBundle, а затем я почистил кеш и выполнил другие инструкции. Я получил: Dumping all prod assets. Debug mode is off. Есть ли способ проверить, что все в порядке, или я могу просто проверить это при загрузке проекта обратно на сервер? - person Joseph; 16.10.2017
comment
при запуске этой команды вы увидите список файлов js, которые система добавляет в веб-папку. Все активы по умолчанию находятся в папке web/assets - person mlivan; 16.10.2017
comment
вы имеете в виду, например, к этому? Installing assets for School\SchoolBundle into web/bundles/school. Это происходит с assets:install, но с assetic:dump я получаю только то, что указал ранее. У меня нет папки web/assets - person Joseph; 16.10.2017
comment
Я видел что-то, что можно использовать в шаблоне {% stylesheets%} 'to include the stylesheets used. Do I have to do any of that? I still have it in the form ‹link href={{ assets('bundles/school/css/style.css') }} rel=stylesheet type=text/css /›` - person Joseph; 16.10.2017