Hola a todos,
Estoy teniendo un problema, me ha llamado el técnico de mi Hosting donde tengo alojada una tienda online, y me ha dicho que el fichero mysql.log se están mandado 300-400 peticiones por segundo.
Por lo que me comenta es que cada vez que hago un SELECT, UPDATE u otra consulta, me estoy conectado a la base de datos.
Realmente en el PHP tengo creada una Instancia donde se conecta solo una vez, realmente no se lo que es.
Os a pasado alguna vez a vosotros?
Ejemplo del codigo connec php
Class BD
Código PHP:
public function __construct($server, $user, $password, $database, $connect = true)
{
$this->server = $server;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->is_cache_enabled = (defined('_CACHE_ENABLED_')) ? _CACHE_ENABLED_ : false;
if (!defined('_DEBUG_SQL_'))
define('_DEBUG_SQL_', false);
if ($connect)
$this->connect();
}
public static function getInstance($id_server)
{
$id_server=($id_server)?$id_server:_BD_DEFAULT_;
self::$_servers=unserialize(_SERVERS_);
$class = 'DbMySQLi';
self::$instance[$id_server] = new $class(
self::$_servers[$id_server]['server'],
self::$_servers[$id_server]['user'],
self::$_servers[$id_server]['password'],
self::$_servers[$id_server]['database']
);
if(!self::$_servers[$id_server])
die(Core::WarningError(_WARNING_CONNECT_INSTANCE_));
return self::$instance[$id_server];
}
Class MySqli
Código PHP:
public function connect()
{
if (strpos($this->server, ':') !== false)
{
list($server, $port) = explode(':', $this->server);
$this->link = @new mysqli($server, $this->user, $this->password, $this->database, $port);
}
else
$this->link = @new mysqli($this->server, $this->user, $this->password, $this->database);
if (mysqli_connect_error())
die(Core::WarningError(_WARNING_CONNECT_DB_));
// UTF-8 support
if (!$this->link->query('SET NAMES \'utf8\''))
die(Core::WarningError(_WARNING_DB_UTF8_));
return $this->link;
}
Espero que me ayudéis,
Muchas gracias