Почему следующий код вызывает ошибку сегментации?
<?php
$CNX = new mysqli('localhost','dbuser', 'dbpass', 'dbtest');
class DAO
{
var $stmt;
function DAO()
{
$this->stmt = $GLOBALS['CNX']->stmt_init();
}
function listing()
{
$this->stmt->prepare('SELECT * FROM any_table');
}
}
class Page
{
function go()
{
$d1 = new DAO();
$d2 = new DAO();
$d1->listing();
exit;
}
}
$tpl = new Page();
$tpl->go();
?>
Дополнительные примечания
1) Я запускал этот код на двух разных серверах LAMP, и оба они генерировали такие ошибки, как child pid somenumber exit signal Ошибка сегментации (11)
в моих файлах error.log. На одном сервере я использую Ubuntu 10.04, Apache 2, Mysql 5 и PHP 5.3.2-1ubuntu4.9, а на другом сервере я использую Ubuntu 11.10, Apache 2, mysql 5 и PHP 5.3.6-13ubuntu3.3. .
2) Это странно, но когда я закомментирую строку $ d2 = new DAO ();
или строку exit;
, ошибка сегментации исчезает.
3) Ошибка сегментации возникает независимо от того, из какой таблицы db я выберу в подготовленном операторе.
Что происходит? Я так расстроен. Я потерял целый день времени из-за этой ошибки сегментации. Пожалуйста ... если кто-нибудь знает, что происходит, дайте мне знать
Спасибо