Propel-load-data вызывает ошибку

Я пытаюсь загрузить фикстуры, но мой проект выдает ошибку в интерфейсе командной строки и запускает процесс индексатора.

Я пытался:

  • Перестроение схемы и модели
  • Очистка базы данных и запуск заново
  • Очистка кеша
  • Проверяем файл YML и пробуем гораздо более простые дампы данных

Моя платформа — Symfony 1.0 на Windows.

У некоторых также, кажется, была такая же проблема в прошлом.

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

person Jon Winstanley    schedule 07.04.2010    source источник


Ответы (3)


Эта ошибка возникла из-за проблемы с одним из моих переопределенных методов сохранения в модели.

Ошибка приводит к поломке propel-load-data

person Jon Winstanley    schedule 07.04.2010

Материалы сеанса не должны запускаться для задачи CLI (логически вы не делаете sfWebRequest при использовании CLI), поэтому что-то в вашем коде делает предположение. Я предполагаю, что вы пытаетесь сделать что-то с хранилищем сеанса или чем-то, что вызывает sfContext из метода save() объекта - если вам нужно сделать что-то подобное, всегда делайте это в своем действии , а не модель.

person Raise    schedule 07.04.2010

просто для информации, в задаче symfony 1.4 у меня были те же сообщения, и мое решение состояло в том, чтобы переместить эти строки обратно в стандартный метод 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);

Раньше я переместил их в другой метод, даже если этот метод был вызван с помощью execute(), у меня все равно были бы предупреждения. Спасибо Raise за подсказку.

заботиться !

person Jonathan-David Schröder    schedule 23.07.2010