Я сделал приложение Symfony 2 так, чтобы оно хорошо работало в производственном режиме и в режиме разработки на моем локальном сервере, но когда я загрузил его на свой 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
# 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
контроллер:
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 Я не заметил, что папка «Виды» начинается с заглавной буквы. Когда я изменяю его на «просмотры», все работает нормально.
Спасибо всем, кто пытался помочь :)!
Других решений пока нет …