Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Sobre Drupal 5.12 y el archivo database.mysql.inc

Estas en el tema de Sobre Drupal 5.12 y el archivo database.mysql.inc en el foro de Drupal en Foros del Web. Saben tengo un tema en mi drupal, nosotros hemos modificado el archivo database.mysql.inc en la funcion db_connect($url) para que salga un mensaje diciendo que el ...
  #1 (permalink)  
Antiguo 17/03/2011, 11:35
Avatar de MichaellR  
Fecha de Ingreso: noviembre-2004
Ubicación: Lima - Peru
Mensajes: 85
Antigüedad: 20 años
Puntos: 0
Pregunta Sobre Drupal 5.12 y el archivo database.mysql.inc

Saben tengo un tema en mi drupal, nosotros hemos modificado el archivo database.mysql.inc en la funcion db_connect($url) para que salga un mensaje diciendo que el Sitio esta en mantenimiento, la funcion completa es esta:

Código PHP:
function db_connect($url) {
  
$url parse_url($url);

  
// Check if MySQL support is present in PHP
  
if (!function_exists('mysql_connect')) {
    
// Redirect to installer if using default DB credentials
    
if ($url['user'] == 'username' && $url['pass'] == 'password') {
      include_once 
'includes/install.inc';
      
install_goto('install.php');
    }
    
drupal_maintenance_theme();
    
drupal_set_header('HTTP/1.1 503 Service Unavailable');
    
drupal_set_title('PHP MySQL support not enabled');
    print 
theme('maintenance_page''<p>We were unable to use the MySQL database because the MySQL extension for PHP is not installed. Check your <code>PHP.ini</code> to see how you can enable it.</p>
<p>For more help, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>'
);
    exit;
  }

  
// Decode url-encoded information in the db connection string
  
$url['user'] = urldecode($url['user']);
  
// Test if database url has a password.
  
if(isset($url['pass'])) {
    
$url['pass'] = urldecode($url['pass']);
  }
  else {
    
$url['pass'] = '';
  }
  
$url['host'] = urldecode($url['host']);
  
$url['path'] = urldecode($url['path']);

  
// Allow for non-standard MySQL port.
  
if (isset($url['port'])) {
     
$url['host'] = $url['host'] .':'$url['port'];
  }

  
// - TRUE makes mysql_connect() always open a new link, even if
  //   mysql_connect() was called before with the same parameters.
  //   This is important if you are using two databases on the same
  //   server.
  // - 2 means CLIENT_FOUND_ROWS: return the number of found
  //   (matched) rows, not the number of affected rows.
  
$connection = @mysql_connect($url['host'], $url['user'], $url['pass'], TRUE2);
  if (!
$connection) {
    
// Redirect to installer if using default DB credentials
    
if ($url['user'] == 'username' && $url['pass'] == 'password') {
      include_once 
'includes/install.inc';
      
install_goto('install.php');
    }

    
// Show error screen otherwise
    
drupal_maintenance_theme();
    
drupal_set_header('HTTP/1.1 503 Service Unavailable');
    
drupal_set_title('Sitio Web en Mantenimento');
    print 
theme('maintenance_page''<p>El sitio Web esta en mantenimiento, por favor regrese en unos minutos.</p>');
    exit;
  } 
En la página principal del Drupal cargan modulos que nosotros mismo hemos hecho y hacen una conexion directa a la BD, en total son 5 los modulos que cargan junto con el Drupal.

Ahora sucede algo raro, cuando intentamos ingresa a la pagina directamente http://www.dominio.com ,a veces, nos aparece este mensaje de error, pero si ingresamos a una carpeta definida dentro del Drupal http://www.dominio.com/nuevo/ ingresa normal, como si no hubiera algun problema alguno, pero si volvemos a la pagina anterior nos aparece lo mismo "Sitio en Mantenimiento".

A que se puede de deber?, a que no hace la correcta conexion a la BD??, pero si eso pasa en esa direccion porque en otra carga normal?.

Ojala y me puedan ayudar en esto.

Gracias
__________________
Michaell Ruiz Huarca

-- Cuando pienses que sabes mucho, es porque aun te falta mucho por saber

Etiquetas: database
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.