sto creando un nuovo progetto in Symfony 2.1. Volevo controllare se la mia applicazione andrà correttamente sul mio server, quindi ho copiato tutti i file, cancellato la cache e impostato le autorizzazioni. a livello locale in ambiente dev tutto va bene, ma quando chiedo "in linea - prod" versione sul mio server ho un errore:Symfony2 - Classe non trovata nell'ambiente prod
Fatal error: Class 'Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle' not found in /www/gastlich_www/www/livescore.gastlich.iq.pl/app/AppKernel.php on line 25
ho trovato alcune informazioni su questo problema, ma tutti loro si riferisce al cambiamento spazio dei nomi da Symfony \ Bundle a Doctrine \ Bundle e Symfony 2.0.
Quindi ho controllato il mio file AppKernel.php e il percorso del pacchetto era corretto.
mio composer.json assomiglia:
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"stof/doctrine-extensions-bundle": "dev-master",
"doctrine/doctrine-fixtures-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
}
E AppKernel.php configurazione:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new JMS\AopBundle\JMSAopBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
new Acme\StoreBundle\AcmeStoreBundle(),
new Livescore\StatsBundle\LivescoreStatsBundle(),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle()
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
}
stavo cercando di capire dove è un problema, così ho cancellato questo pacchetto in AppKernel.php, e ho ottenuto il prossimo errore irreversibile:
Fatal error: Class 'Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle' not found in /www/gastlich_www/www/livescore.gastlich.iq.pl/app/AppKernel.php on line 24
Quindi suppongo, che ho solo problema con ultimi 2 fasci: StofDoctrineExtensionsBundle e DoctrineFixturesBundle, che hanno le versioni dev-master in composer.json. A questo punto, non ho più alcuna idea. Stavo cercando di google questo problema, ma il 90% dei problemi stavo Symfony 2.0 e lo spostamento repository git;/
locale ambiente dev: PHP 5.4.6 Mysql 5.5.27 Apache 2.2.22 (Fedora)
E il mio ENV server: PHP 5.4.6 MySql 5.0.32
Qualsiasi aiuto sarà apprezzato.
Grazie!
Questo file (con classe DoctrineFixturesBundle) esistono fisicamente? Prova a eseguire: php compositore.phar aggiornamento, e vedere se il problema si verifica ancora – Cyprian
Ciao, eseguo compser.phar aggiornamento e ho alcuni errori con "La directory di origine ha modifiche senza commit". Così ho cancellato questi venditori in conflitto e tutto è andato bene. Script non ha aggiornato alcun pacchetto di fixture/stof. Il passo successivo è stato quello di copiare le modifiche sul server online e ho copiato l'intera directory dell'applicazione. Dopo aver cancellato la cache, la mia applicazione funziona bene sul server online e non so dove fosse il problema;/Grazie per il tuo aiuto e suggerisco :) –