简体   繁体   中英

Symfony 2 production app unable to find any Twig template

I made Symfony 2 app what is working well on production and dev mode in my localhost server, but when i pushed it live to my ftp there was a problem. I checked log's and it's looks like Twig has problems with finding templates.

There is log from my server:

[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 [] []

Have anyone idea what's the problem?

@edit I also put my 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
                    #     e.g. 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

Controller:

            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 I don't know it does matter but i use for my project this template https://github.com/juliomatcom/charisma-symfony-php

Ok i found solution. When i copied files from this repository https://github.com/juliomatcom/charisma-symfony-php I have not noticed the 'Views' folder starts from uppercase. When i change it to 'views' everything works fine.

Thanks for everyone who tried help :)!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM