Ошибка сегментации PHP - PullRequest
       10

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

0 голосов
/ 01 ноября 2010

я пытаюсь расширить класс mysqli в php, чтобы создать класс-оболочку. Я хотел бы, чтобы этот класс управлял несколькими соединениями .. Я сейчас на очень ранней стадии и столкнулся с проблемой:

Auth Connected no: 1 1045: доступ запрещен для пользователя 'rootty' @ 'localhost' (с использованием пароля: ДА) Ошибка сегментации

Кажется, что во втором соединении есть ошибка, возникает ошибка сегментации, однако соединение одно ошибочно ..

<?php

class mysqli_ls extends mysqli
{
   private $link    = array();
   private $link_no = 0;


/* ************************************************************ */

   public function __construct()
   {
   }

/* ************************************************************ */

   public function open($host='', $user='', $pass='', $port='3306', $database='')
   { 
      if ( empty($host) || empty($user) || empty($pass) || empty($database) ) 
      {
         $this->error[] = "Missing required connection variables";
         return false;
      } 

      $this->link_no++;
      @$this->link[ $linkno ] = $this->connect($host, $user, $pass, $database, $port);



        if ($this->connect_errno)

        {

         $this->error[] = $this->connect_errno .':'. $this->connect_error;
         return false;

        }

      return $this->link_no;
   }
###### Тестовый скрипт
#!/usr/bin/php
<?php

require_once('mysqli.class.php');
$_mysqli = new mysqli_ls;

$_auth = $_mysqli->open('localhost','root','xx','3306','auth');
if ($_auth === false)  print $_mysqli->get_last_error() ."\n";
else print 'Auth Connected no: '. $_auth ."\n";

$_trak = $_mysqli->open('localhost','root','sxx','3306','wlr_tracker');
if ($_trak === false)  print $_mysqli->get_last_error() ."\n";
else print 'Trak Connected no: '. $_trak ."\n";

1 Ответ

0 голосов
/ 01 ноября 2010

Я бы сообщил об этом разработчикам PHP / mysqli.Segfaulting языка сценариев, скорее всего, является внутренней ошибкой, которую вы не можете исправить - хотя можно было бы создать обходной путь, правильный способ - исправить его в коде C.

...