2011-03-01 6 views
1

J'ai un problème lors de la configuration du projet symfony sur le serveur de production. Quand je lance la doctrine de la commande --build --all --and-charge il me donne l'erreur dans l'environnement de production:Problème de déploiement de Symfony

 
>> doctrine Dropping "doctrine" database 
PHP Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1472 

Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1472 
>> doctrine SQLSTATE[42000]: Syntax error or access violation: 1064 You have an erro...e right syntax to use near '' at line 1. Failing Query: "DROP DATABASE " 
>> doctrine Creating "dev" environment "doctrine" database 
PHP Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1439 

Cependant, après l'erreur, il crée avec succès la table. Mais si je lance la commande une deuxième fois, cela échoue partiellement pendant la mise en caisse des tables.

J'ai modifié ma configuration database.yml correctement pour l'environnement de production. le voici:

 
all: 
    doctrine: 
    class: sfDoctrineDatabase 
    param: 
     dsn: mysql:host=localhost;dbname=sf_project 
     port: 3306 
     username: root 
     password: mainserver 

Cela fonctionne bien dans l'environnement local cependant. Quelqu'un peut-il nous éclairer?

Note d'édition: Ajout du contenu du fichier '/cache//prod/config/config_databases.yml.php' en tant que 'xzyfer' suggéré.

Voici le contenu:

 

return array(
'doctrine' => new sfDoctrineDatabase(array (
    'dsn' => 'mysql:host=localhost; dbname=sf_project', 
    'port' => 3306, 
    'username' => 'root', 
    'password' => 'mainserver', 
    'name' => 'doctrine', 
)),); 

Répondre

1

essayer:

./symfony doctrine:build --all --and-load --env=prod 
+0

@xzyfer: Merci, il a supprimé que Undefined index message d'erreur. Mais il y a une autre erreur SQL qui s'affiche lors de la suppression et de la création de la base de données: '> doctrine Dropping" doctrine "base de données >> doctrine SQLSTATE [42000]: Erreur de syntaxe ou accès non autorisé: 1064 Vous avez une erreur en vous ... n pour le syntaxe droite à utiliser près de '' à la ligne 1. Failing Query: "DROP DATABASE" >> doctrine Créer "prod" environnement "doctrine" base de données >> doctrine SQLSTATE [42000]: Syntax eror ou accès violtion: 1064 Vous avez un erreur en vous ... pour la bonne syntaxe à utiliser près de '' à la ligne 1. Failing Query: "CREATE DATABASE" ' – med

+0

Avez-vous vidé votre cache? L'erreur est essentiellement dire que vous avez donné un nom de DNS dans votre base de données.yml essayer ./symfony cc d'abord – xzyfer

+0

votre cache est-il inscriptible? – cuhuak