2011-12-09 76 views
0

我收到以下错误阿帕奇:奇怪的Apache的错误使用PHP

[声明]儿童PID 13190退出信号分割故障(11)

,它只是似乎发生时我尝试echo,var_dump等...我的会话写入函数中的$ data变量。任何事情,奇怪的是,如果我不尝试使用此代码的var_dump $数据:

if($this->read($id) == '') 
{ 
    $this->sessionCollection->insert($data, array('safe' => true)); 
} 
else 
{ 
    $this->sessionCollection->update(array('_id' => $data['_id']), $data, array('safe' => true)); 
} 

PHP抛出:

警告:MongoCollection ::插入()预计参数1是数组 或对象

任何人都知道可能是什么原因造成的?

回答

0

显然,如果您在会话写入处理程序的写入方法中使用exit(),则segfault是正常结果。我放入出口是因为我想看到$ data变量,因为它看起来不像数据正确保存。现在我知道$ data变量是一个序列化数组的大小,它似乎工作正常。

2

在我看来,第3行(...->insert($data ...)$data不是一个数组,而是一个标量。然而,MongoCollection需要一个数组作为documented here

我会var_dump($data)看看里面是什么。

+0

如果您阅读上面的内容,当我尝试var_dump($ data)时,发现apache错误; – ryanzec

+0

我想我误解了。这真的很奇怪。您需要验证'$ data'中的内容。如果'var_dump'崩溃,那么事情是严重错误的。也许你应该考虑使用一个真正的PHP调试器,例如http://xdebug.org/ – middus

+0

找出了我的问题,并添加了答案。 – ryanzec