0

我正在尝试加载固定装置,但 myproject 在 CLI 处出错并启动索引器进程。

我试过了:

  • 重建模式和模型
  • 清空数据库并重新开始
  • 清除缓存
  • 验证 YML 文件并尝试更简单的数据转储

我的平台是 Windows 上的 Symfony 1.0

有些人过去似乎也遇到过同样的问题

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
4

3 回答 3

1

此错误是由于我在模型中覆盖的保存方法之一存在问题。

错误导致propel-load-data中断

于 2010-04-07T11:17:18.583 回答
1

不应为 CLI 任务触发会话内容(从逻辑上讲,您在使用 CLI 时不会发出 sfWebRequest),因此您的代码中的某些内容正在做出假设。我想您正在尝试使用会话存储或从对象的 save() 方法中实例化 sfContext 的东西 - 如果您需要做类似的事情,请始终在您的操作中执行,而不是在模型中执行。

于 2010-04-07T12:30:34.443 回答
1

仅供参考,在 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 的提示。

小心 !

于 2010-07-23T20:09:50.343 回答