2010-04-07 5 views
0

J'essaye de charger des appareils mais myproject commet une erreur sur la CLI et démarre le processus de l'indexeur.Propel-load-data provoque une erreur

J'ai essayé:

  • La reconstruction du schéma et modèle
  • Vidage de la base de données et de recommencer
  • Effacement du cache
  • Validation du fichier YML et d'essayer beaucoup plus simple des données dépotoirs

Ma plate-forme est Symfony 1.0 sous Windows

Certains semble également avoir eu le same issue in the past.

C:\web\my_project>symfony propel-load-data backend 
>> propel load data from "C:\web\my_project\data\fixtures" 

PHP Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\php\PEAR\symfony\vendor\pake\pakeFunction.php:366) in C:\php\PEAR\symfony\storage\sfSessionStorage.class.php on line 77 

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\php\PEAR\symfony\vendor\pake\pakeFunction.php:366) in C:\php\PEAR\symfony\storage\sfSessionStorage.class.php on line 77 

PHP Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\php\PEAR\symfony\vendor\pake\pakeFunction.php:366) in C:\php\PEAR\symfony\storage\sfSessionStorage.class.php on 
line 77 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\php\PEAR\symfony\vendor\pake\pakeFunction.php:366) in C:\php\PEAR\symfony\storage\sfSessionStorage.class.php on line 
77 

Répondre

1

Cette erreur était due à un problème avec l'une de mes méthodes de sauvegarde substituées dans le modèle.

L'erreur provoque propel-load-data pour casser

1

choses de session ne devrait pas être déclenchée pour une tâche CLI (logiquement, vous n'êtes pas faire un sfWebRequest lors de l'utilisation du CLI) donc quelque chose dans votre code fait une hypothèse. J'imagine que vous essayez de faire quelque chose avec le stockage de session ou quelque chose qui installe sfContext à partir de la méthode save() d'un objet - si vous avez besoin de faire quelque chose, faites-le dans votre action, pas dans le modéle.

1

juste pour info, dans une tâche symfony 1.4 J'ai eu les mêmes messages et ma solution était de déplacer les lignes de retour dans la méthode tâche standard execute():

// the following 2 lines need absolutely to stay in execute() to prevent 
$configuration = ProjectConfiguration::getApplicationConfiguration(
$this->options['application'], 
$this->options['env'], 
false 
); 
sfContext::createInstance($configuration); 

Je les avais déménagé dans une autre méthode avant, même si cette méthode a été appelée par execute(), j'aurais toujours les avertissements. Merci de vous lever pour le pourboire.

faites attention!

Questions connexes