phpbar.de logo

Mailinglisten-Archive

[php] phplib - neue DB Instanz - Speicher ?

[php] phplib - neue DB Instanz - Speicher ?

Lars Heuer php_(at)_phpcenter.de
Wed, 17 Apr 2002 14:09:21 +0200


Hallo broeker,

> Wird hier also ewig Speicher vollgeschrieben
> bzw. immer mehr Verbindungen zur DB geöffnet
> ohne sie wieder zu schliessen?
> (wie gesagt: mit Hilfe der phplib!)

Die phpLib verwendet (z.B. bei MySQL) pconnect (siehe auch Thread
durch die letzten Tage pconnect vs. connect).

Wenn Du entweder in Deiner DB Klasse folgende Funktion einfügst:
(gehe davon aus, daß Du MySQL verwendest)

--8<--- snip
 /* public: connection management */
  function connect($Database = "", $Host = "", $User = "", $Password = "") {
    /* Handle defaults */
    if ("" == $Database)
      $Database = $this->Database;
    if ("" == $Host)
      $Host     = $this->Host;
    if ("" == $User)
      $User     = $this->User;
    if ("" == $Password)
      $Password = $this->Password;
      
    /* establish connection, select database */
    if ( 0 == $this->Link_ID ) {
    
      $this->Link_ID=mysql_connect($Host, $User, $Password);  //[1]
      if (!$this->Link_ID) {
        $this->halt("connect($Host, $User, \$Password) failed."); //[2]
        return 0;
      }

      if (!_(at)_mysql_select_db($Database,$this->Link_ID)) {
        $this->halt("cannot use database ".$this->Database);
        return 0;
      }
    }
    
    return $this->Link_ID;
  }
--8<--- snip
Bei [1] und bei [2] einfach connect anstelle von pconnect verwenden.


Oder in der Klasse DB_Sql in der Datei db_mysql.inc die entsprechenden
Stellen änderst, wird connect und nicht mehr pconnect verwendet und
sollte Dir helfen, Dein Speicherproblem zu lösen.


Gruß,
Lars

-- 
quiXS!          | http://www.quixs.de
utopiXS!        | http://www.utopixs.de    | digitale Postkarten
phpSlash        | http://www.phpslash.org  | das bessere Weblog


php::bar PHP Wiki   -   Listenarchive