Symfony2 - erreur Fatale avec des Faisceaux
J'ai obtenu l'erreur [la Solution à la fin de la question]
Fatal error: Class 'symblog\Blogger\BlogBundle\SymblogBundle' not found in
/var/www/Symfony/app/AppKernel.php on line 20
J'ai fondé la question Comment faire pour installer ou d'intégrer des bundles Symfony2, mais les solutions apportées ne m'a pas aidé, parce que je l'ai déjà fait à ce qui est proposé là. Je suis en suivant le tutoriel symblog.co.royaume-uni sauf que j'ai créé au
app/config/routing.yml
un
*.php resource
Merci d'avance!
Je dois ajouter que lors de l'enregistrement du bundle de la console, j'ai obtenu l'erreur
The command was not able to configure everything automatically.
You must do the following changes manually.
Et les instructions:
- Edit the app/autoload.php file and register the bundle
namespace at the top of the registerNamespaces() call:
'symblog\Blogger\BlogBundle' => '/var/www/Symfony/blog',
que j'ai suivi.
AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
//..
new symblog\Blogger\BlogBundle\SymblogBundle(),
);
/app/config/routing.yml
SymblogBundle:
resource: "@SymblogBundle/Resources/config/routing.php"
prefix: /
Comme demandé: /app/config/config.yml
imports:
- { resource: parameters.ini }
- { resource: security.yml }
framework:
#esi: ~
#translator: { fallback: %locale% }
secret: %secret%
charset: UTF-8
router: { resource: "%kernel.root_dir%/config/routing.yml" }
form: true
csrf_protection: true
validation: { enable_annotations: true }
templating: { engines: ['twig'] } #assets_version: SomeVersionScheme
session:
default_locale: %locale%
auto_start: true
# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
# java: /usr/bin/java
filters:
cssrewrite: ~
# closure:
# jar: %kernel.root_dir%/java/compiler.jar
# yui_css:
# jar: %kernel.root_dir%/java/yuicompressor-2.4.2.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
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%
jms_security_extra:
secure_controllers: true
secure_all_services: false
[Modifier] La solution a été très facile, après la réponse de @Clamidity que les bottes sont généralement situés à la src/Blogger/SymBlogBundle/BloggerSymBlogBundle.php
Tandis que la configuration à l'aide de la console il saked sur l'emplacement de l'ensemble et la valeur par défaut est /../src, mais j'ai changé d' /../blog. Et bien sûr, cela ne fonctionnera pas, Symfony a été à la recherche dans le mauvais emplacement. Ce que j'ai fait a été de déplacer les dossiers à l'intérieur /blog /src /et tout s'est bien passé.
Quel est le chemin d'accès au fichier de votre bundle?
Le chemin d'accès au fichier est /var/www/Symfony/blog
OriginalL'auteur matt | 2012-03-27
Vous devez vous connecter pour publier un commentaire.
Il y a quelques choses qu'il pourrait être. Je vais couvrir tout ce que je peux penser.
Généralement les paquets sont placés dans le dossier src. De sorte que le chemin d'accès à votre bundle devrait ressembler à ceci.
(Notez que le nom du bundle suit la convention de nom de fichier)
À l'intérieur de la BloggerSymBlogBundle.php assurez-vous que vous avez quelque chose de similaire à la suivante:
(Notez que le nom même de la convention est également suivie ici)
Dans votre autoload.php l'espace de noms doit être enregistré est le "Blogueur" une partie du nom/chemin d'accès à votre bundle. C'est parce que le paquet lui-même réside dans le Blogger dossier:
(Notez que le dossier de la liste est la mère du Blogueur dossier)
Maintenant dans le AppKernel.php enregistrer le faisceau selon l'espace de noms de votre installation et à l'enregistrement:
*Remarque - de Vos ressources et de références pour ce bundle avec la configuration ci-dessus serait
de sorte que votre php routage serait appelée à l'aide d':
OriginalL'auteur Shattuck
Il existe d'autre solution.
Clair app/cache/(prod|dev) dossier. Lorsque vous avez édité le Appkernel et autoload.
Voici maintenant les différents Problèmes:
Look à la SymblogBundle.php dans l'ensemble du Dossier et de l'apparence de l'espace de noms qu'ils utilisent. Peut-être c'est vraiment une majuscule ("S") à l'instar de @kuba dit.
Le fichier de Classe n'est pas dans le dossier ou vous n'avez aucun droit sur le dossier que l'interprète peut charger le fichier.
Je pense que votre autoload.php n'est pas correct.
C'est la façon la plus commune pour enregistrer un espace de Noms. Dans votre cas, il faut être
Voici les instructions à partir de la "BloggerBundle" J'espère que sa le bon
Là, vous pouvez voir votre autoload sa corrige pas l'espace de Noms est "Blogueur".
OriginalL'auteur René Höhle