2010-04-07 1 views
0

Я пытаюсь загрузить приборы, но myproject является ошибкой в ​​CLI и начинает процесс индексатора.Данные о загрузке Propel приводят к ошибке

Я попытался:

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

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

Некоторые также, похоже, имели 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 

ответ

1

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

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

1

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

1

только для информации, в симфони 1.4 задачи я имел те же сообщения и мое решение было переместить эти строки обратно в стандартную задачу выполнить() метод:

// 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 для наконечника.

заботиться!