Ошибка сегментации в PHP?

Почему следующий код вызывает ошибку сегментации?

<?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 я выберу в подготовленном операторе.

Что происходит? Я так расстроен. Я потерял целый день времени из-за этой ошибки сегментации. Пожалуйста ... если кто-нибудь знает, что происходит, дайте мне знать

Спасибо

8
задан John 17 December 2011 в 03:59
поделиться