Ciao a tutti,
vorrei liberare la memoria dopo l'esecuzione di una pagina PHP
la prima cosa che faccio, dopo il rendering della pagina è:
Codice PHP:
Db::close();
echo $html;//contiene l'intera pagina HTML
la classe Db è la seguente:
Codice PHP:
<?php
class Db implements IConfigDb {
private static $instancia=NULL;
private static $host=self::HOST;
private static $nombre=self::NOMBRE;
private static $pw=self::PW;
private static $dbNome=self::DB;
private function __construct(){}
private function __clone(){}
static function close(){
var_dump(self::$instancia);
var_dump(mysqli_close(self::$instancia));
//mysqli_close(self::$instancia);
}
static function getDBC(){
if(self::$instancia==NULL){
try{
self::$instancia=new mysqli(self::$host, self::$nombre, self::$pw, self::$dbNome);
}catch(Exception $e){
self::$instancia=NULL;
}
}
return self::$instancia;
}
}
Il primo var_dump del metodo statico close(), var_dump(self::$instancia), produce questo risultato:
codice:
object(mysqli)[104]
public 'affected_rows' => null
public 'client_info' => null
public 'client_version' => null
public 'connect_errno' => null
public 'connect_error' => null
public 'errno' => null
public 'error' => null
public 'error_list' => null
public 'field_count' => null
public 'host_info' => null
public 'info' => null
public 'insert_id' => null
public 'server_info' => null
public 'server_version' => null
public 'stat' => null
public 'sqlstate' => null
public 'protocol_version' => null
public 'thread_id' => null
public 'warning_count' => null
Il secondo var_dump, var_dump(mysqli_close(self::$instancia)) produce questo risultato:
Il risultato, qualsisi pagina utilizzi, è sempre lo stesso, vorrei capire perché tutti i valori sono null, sto sbagliando qualche cosa?
Inoltre, che altre operazioni mi consigliate di effettuare per liberare la menoria il più possibile?
Grazie,
Roberto