Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/10/2014, 04:02
daicon
 
Fecha de Ingreso: julio-2010
Mensajes: 134
Antigüedad: 13 años, 9 meses
Puntos: 0
Sesion conexion BD compartida entre CMS y script externos?

Hola,

Me está pasando algo raro, supongo que será por desconocimiento de como funciona, pero a ver si me podéis ayudar.

Tengo un trozo de código de un cms el cual e personalizado, y he llamado a un script php que está fuera de la carpeta del cms, es decir, en mitad del cms he añadido esto:

Código PHP:
// Codigo del CMS
//.
//.
//Mi codigo
include_once  '/var/www/vhosts/misscripts/v1/Manejador.php';
        
$maneja = new ManejadorNotificaciones;
        
$maneja->mensaje_privado();
//Fin de mi Codigo
//.
//.Codigo del CMS 
En el código del script es el siguieten:
Código PHP:
$conexBD mysql_connect('localhost''xxxxx''xxxxx');
        if (!
$conexBD) {
                die(
'No se pudo conectar a la BD: ' mysql_error());
        }
        
//$prov = $prov . "db";
        
mysql_select_db('misdatosexternos');
        
mysql_set_charset('utf8');

// Seguidamente hago una consulta (no la he puesto para resumir) y cierro la conexión:
                
mysql_close($conexBD); 
El problema es el siguiente:
Poniendo controles y testeando he encontrado, si no me equivoco, que el problema es que el CMS y este script usan la misma ¿sesión? de conexión a la Bd.
Cuando cierro con mysql_close al volver al CMS, esta sin conexión a la bd, y peta...

Para confirmarlo añadi esta línea debajo de la llamada a la función externa:
Código PHP:
mysql_select_db($bddelCMS); 

Y ya si funciono todo correctamente.
El problema es que yo no quiero quitarle el mysql_close al script externo ya que ese script en ocasiones se lanzara desde el CMS, y en otras, se llamará directamente. En el caso del CMS no me preocupa que se quede abierto, pero cuando se lanza solo el script lo correcto es que se cierre.

Y la pregunta importante, por que están utilizando la misma sesión de conexión a la bd tanto el script externo como el CMS?
¿Qué se me escapa?