Я сделал приложение Symfony 2, хорошо работающее в режиме производства и dev на моем сервере localhost, но когда я нажал его на свой ftp, возникла проблема. Я проверил журнал, и похоже, что у Twig проблемы с поиском шаблонов.
На моем сервере есть журнал:
[2015-05-18 11:10:21] request.INFO: Matched route "homepage" (parameters: "_controller": "AppBundle\Controller\DefaultController::indexAction", "_route": "homepage") [] [] [2015-05-18 11:10:21] security.INFO: Populated SecurityContext with an anonymous Token [] [] [2015-05-18 11:10:21] request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "Unable to find template "AppBundle:Home:index.html.twig"." at /vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php line 128 {"exception":"[object] (InvalidArgumentException(code: 0): Unable to find template \"AppBundle:Home:index.html.twig\". at /vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php:128, Twig_Error_Loader(code: 0): Unable to find template \"AppBundle:Home:index.html.twig\". at /vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Loader/FilesystemLoader.php:91, InvalidArgumentException(code: 0): Unable to find template \"AppBundle:Home:index.html.twig\" : \"Unable to find file \"@AppBundle/Resources/views/Home/index.html.twig\".\". at /vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Templating/Loader/TemplateLocator.php:81, InvalidArgumentException(code: 0): Unable to find file \"@AppBundle/Resources/views/Home/index.html.twig\". at /app/bootstrap.php.cache:2456)"} [] [2015-05-18 11:10:21] security.DEBUG: Write SecurityContext in the session [] []
Кто-нибудь знает, в чем проблема?
@edit Я также поместил свой config.yml
imports: - { resource: parameters.yml } - { resource: security.yml } - { resource: services.yml } - { resource: "@AppBundle/Resources/Config/services.yml" } framework: #esi: ~ #translator: { fallback: "%locale%" } secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } templating: engines: ['twig'] #assets_version: SomeVersionScheme default_locale: "%locale%" trusted_hosts: ~ trusted_proxies: ~ session: # handler_id set to null will use default session handler from php.ini handler_id: ~ fragments: ~ http_method_override: true # Twig Configuration twig: debug: "%kernel.debug%" strict_variables: "%kernel.debug%" # 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" # Doctrine Configuration doctrine: dbal: driver: "%database_driver%" host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 # if using pdo_sqlite as your database driver: # 1. add the path in parameters.yml # eg database_path: "%kernel.root_dir%/data/data.db3" # 2. Uncomment database_path in parameters.yml.dist # 3. Uncomment next line: # path: "%database_path%" orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory } #for user fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: AppBundle\Entity\User registration: form: type: new_user_registration #vich file uploader vich_uploader: db_driver: orm mappings: download_file: uri_prefix: /files/download upload_destination: %kernel.root_dir%/../web/files/download offer_file: uri_prefix: /files/offer upload_destination: %kernel.root_dir%/../web/files/offer inject_on_load: false delete_on_update: false delete_on_remove: true
контроллер:
namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class DefaultController extends Controller { /** * @Route("/", name="homepage") */ public function indexAction() { return $this->render('AppBundle:Home:index.html.twig'); } }
@ edit2 Я не знаю, что это имеет значение, но я использую для своего проекта этот шаблон https://github.com/juliomatcom/charisma-symfony-php
Хорошо, я нашел решение. Когда я копировал файлы из этого репозитория https://github.com/juliomatcom/charisma-symfony-php, я не заметил, что папка «Представления» начинается с верхнего регистра. Когда я меняю его на «виды», все работает отлично.
Спасибо всем, кто попробовал помощь :)!