[Alba-desarrollo] SVN Alba r4541 - prosistem/alba/trunk
commits en pressenter.com.ar
commits en pressenter.com.ar
Lun Abr 9 22:51:55 CEST 2007
Author: hsanchez
Date: 2007-04-09 17:51:53 -0300 (Mon, 09 Apr 2007)
New Revision: 4541
Modified:
prosistem/alba/trunk/index.php
Log:
Generando archivo de log para la instalacion, permite un debug de la instalacion en un cliente
Modified: prosistem/alba/trunk/index.php
===================================================================
--- prosistem/alba/trunk/index.php 2007-04-06 20:19:20 UTC (rev 4540)
+++ prosistem/alba/trunk/index.php 2007-04-09 20:51:53 UTC (rev 4541)
@@ -45,8 +45,8 @@
define("INSTALL_COMPLETE_DIR",ALBA_PATH."log");
define("INSTALL_COMPLETE_FILE",INSTALL_COMPLETE_DIR.DIRECTORY_SEPARATOR."instalacion_completa");
-
-
+ define("DEBUG_LOG",INSTALL_COMPLETE_DIR.DIRECTORY_SEPARATOR."install.log");
+ //define("DEBUG_LOG","install.log");
define("ALBA_WEB",ALBA_PATH."web".DIRECTORY_SEPARATOR);
define("CONFIG_PATH", ALBA_PATH."config".DIRECTORY_SEPARATOR);
@@ -81,15 +81,23 @@
if(!file_exists(INSTALL_COMPLETE_FILE)) {
-
+
+ $fp = fopen(DEBUG_LOG, "at" );
+ fputs( $fp,date( "d/m/Y H:m:s")." ---- INICIO DE VERIFICACIONES ----\n\n" );
+
if(OS_WINDOWS) {
@unlink(ALBA_PATH.".htaccess");
@unlink(INSTALL_DIR."dist/.htaccess");
+ fputs( $fp,date( "d/m/Y H:m:s")." SO: Windows \n\n" );
}
-
+ else
+ fputs( $fp,date( "d/m/Y H:m:s")." SO: Linux \n\n" );
+
//muchas veces tarda demasiado por lo que es prudente ponerle un infinito tiempo de ejecucion
set_time_limit(0);
+
+
$f_phpversion = function_exists ("phpversion");
$f_apache_get_version = function_exists ("apache_get_version");
@@ -118,8 +126,8 @@
$memory_limit = "No se pudo conocer la cantidad de memoria disponible en su PHP.";
$bool_memory_no_chequeo = false;
}
+ fputs( $fp,date( "d/m/Y H:m:s")." memory_limit: $memory_limit\n\n" );
-
$bool_cache = tienePermisoEscritura(ALBA_PATH."cache");
$bool_log = tienePermisoEscritura(ALBA_PATH."log");
$bool_upload = tienePermisoEscritura(ALBA_WEB."uploads");
@@ -131,8 +139,10 @@
$msg_phpversion = "Su versión de PHP es ".phpversion();
} else {
$msg_phpversion = "No se pudo verificar la versión de PHP";
+
}
-
+ fputs( $fp,date( "d/m/Y H:m:s")." phpversion: $msg_phpversion\n\n" );
+
if($f_apache_get_version) {
preg_match('!Apache/(.*) !U', apache_get_version(), $v);
$apache_installed_version = $v[1];
@@ -150,15 +160,17 @@
$msg_apache_get_version = "No se pudo verificar la versión de APACHE";
$msg_mod_rewrite = "( Al no poder verificar la versión de APACHE, tampoco pudo hacerlo para el mod_rewrite )";
}
-
+ fputs( $fp,date( "d/m/Y H:m:s")." apache_get_version: $msg_apache_get_version\n\n" );
+ fputs( $fp,date( "d/m/Y H:m:s")." mod_rewrite: $msg_mod_rewrite\n\n" );
+
if($f_mysql_module) {
$bool_mysql_module = true;
$msg_mysql_module = "Tiene instalado el modulo MYSQL en PHP";
- } else {
+ } else
$msg_mysql_module = "No tiene instalado el modulo MYSQL en PHP";
- }
+
+ fputs( $fp,date( "d/m/Y H:m:s")." mysql_module: $msg_mysql_module\n\n" );
-
if($f_get_magic_quotes_gpc) {
$bool_get_magic_quotes_gpc = get_magic_quotes_gpc();
if(!$bool_get_magic_quotes_gpc) {
@@ -170,53 +182,97 @@
} else {
$msg_get_magic_quotes_gpc = " No se pudo verificar si usted tiene (magic_quotes_gpc = off) en el php.ini";
}
-
+ fputs( $fp,date( "d/m/Y H:m:s")." magic_quotes: $msg_get_magic_quotes_gpc\n\n" );
+
$hasErrors = false;
$aError = array();
$aDb = array( 'server' => '', 'user' => '', 'password' => '', 'name' => '', 'createdb' => '' ) ;
- if(!file_exists(SQL_CREATE) OR !file_exists(SQL_INSERT_INICIAL) OR !file_exists(SQL_INSERT_EJEMPLO)) {
+ if(!file_exists(SQL_CREATE)) {
$hasErrors = true;
- $aError['sql_files'] = 'Algunos de los archivos para el SQL no puede abrirse';
+ $aError['sql_files'] = 'El archivo para el SQL no puede abrirse';
+ fputs( $fp,date( "d/m/Y H:m:s")." SQL_CREATE: ".$aError['sql_files']."\n\n" );
}
-
+ else
+ fputs( $fp,date( "d/m/Y H:m:s")." SQL_CREATE: OK \n\n" );
+
+ if(!file_exists(SQL_INSERT_INICIAL)){
+ $hasErrors = true;
+ $aError['sql_files'] = 'El archivo para el SQL no puede abrirse';
+ fputs( $fp,date( "d/m/Y H:m:s")." SQL_INSERT_INICIAL: ".$aError['sql_files']."\n\n" );
+ }
+ else
+ fputs( $fp,date( "d/m/Y H:m:s")." SQL_INSERT_INICIAL: OK \n\n" );
+
+ if(!file_exists(SQL_INSERT_EJEMPLO)){
+ $hasErrors = true;
+ $aError['sql_files'] = 'El archivo para el SQL no puede abrirse';
+ fputs( $fp,date( "d/m/Y H:m:s")." SQL_INSERT_EJEMPLO: ".$aError['sql_files']."\n\n" );
+ }
+ else
+ fputs( $fp,date( "d/m/Y H:m:s")." SQL_INSERT_EJEMPLO: OK \n\n" );
+
+ fputs( $fp,date( "d/m/Y H:m:s")." ---- FIN DE VERIFICACIONES ----\n\n" );
+ fputs( $fp,date( "d/m/Y H:m:s")." ---- INICIO DB ----\n\n" );
if ($_SERVER['REQUEST_METHOD'] == "POST") {
+
+ if(!isset($_POST['db']['createdb']))
+ $_POST['db']['createdb'] = false;
+
$db_connection = @mysql_connect( $_POST['db']['server'], $_POST['db']['user'], $_POST['db']['password']);
if ($db_connection) {
$mysql_server_version = mysql_get_server_info();
+ fputs( $fp,date( "d/m/Y H:m:s")." mysql_server_version: ".$mysql_server_version ."\n\n" );
if(compruebaVersion($mysql_server_version, MYSQL_REQUIRED_VERSION)) {
if($_POST['db']['createdb']) {
+ fputs( $fp,date( "d/m/Y H:m:s")." -- Create DB --\n\n" );
if(!@mysql_query('CREATE DATABASE '.$_POST['db']['name'].' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin')) {
$hasErrors = true;
$aError['newdb'] = 'No se pudo crear la base de datos ('.mysql_error().')';
- $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ;
+ fputs( $fp,date( "d/m/Y H:m:s")." newdb: ".$aError['newdb']."\n\n" );
+ $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ;
} else {
- if(doInstall()) {
+ fputs( $fp,date( "d/m/Y H:m:s")." Se creo la base de datos OK--\n\n" );
+ if(doInstall($fp)) {
+ fputs( $fp,date( "d/m/Y H:m:s")." Fin doInstall (create_db): OK \n\n" );
+ fclose( $fp );
header("Location: ".REDIRECT_URL);
} else {
- @mysql_query('DROP DATABASE '.$_POST['db']['name']);
- $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos ('.mysql_error().')';
+ fputs( $fp,date( "d/m/Y H:m:s")." Fin doInstall (create_db): con Error \n\n" );
+ if (!@mysql_query('DROP DATABASE '.$_POST['db']['name'])){
+ $aError['insert_create'] = 'No se pudo eliminar la base de datos creada ('.mysql_error().')';
+ fputs( $fp,date( "d/m/Y H:m:s")." insert_create (create_db): ".$aError['insert_create']."\n\n" );
+ }
+ else {
+ $aError['insert_create'] = 'Se elimino la base de datos creada ('.mysql_error().')';
+ fputs( $fp,date( "d/m/Y H:m:s")." insert_create (create_db): ".$aError['insert_create']."\n\n" );
+ }
$hasErrors = true;
}
}
} else {
+ fputs( $fp,date( "d/m/Y H:m:s")." -- Select DB --\n\n" );
if(@mysql_select_db($_POST['db']['name'])) {
- if(doInstall()) {
+ if(doInstall($fp)) {
+ fputs( $fp,date( "d/m/Y H:m:s")." Fin doInstall (select_db): OK \n\n" );
+ fclose( $fp );
header("Location: ".REDIRECT_URL);
} else {
- $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos ('.mysql_error().')';
+ $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos existente ('.mysql_error().')';
+ fputs( $fp,date( "d/m/Y H:m:s")." insert_create (select_db): ".$aError['insert_create']."\n\n" );
$hasErrors = true;
}
} else {
$hasErrors = true;
- $aError['currentdb'] = 'No se pudo crear la base de datos ('.mysql_error().')';
+ $aError['currentdb'] = 'No se pudo usar la base de datos ('.mysql_error().')';
+ fputs( $fp,date( "d/m/Y H:m:s")." currentdb (select_db): ".$aError['currentdb']."\n\n" );
$aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ;
-
}
}
} else {
$hasErrors = true;
$aError['mysql_version'] = 'Usted tiene una versión de MYSQL inferior a la'.MYSQL_REQUIRED_VERSION. '(Su versión actual es '.$mysql_server_version. ')';
+ fputs( $fp,date( "d/m/Y H:m:s")." mysql_server_version: ".$aError['mysql_version']."\n\n" );
$aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb'] );
}
@@ -224,11 +280,12 @@
} else {
$hasErrors = true;
$aError['connect'] = 'No pudo conectarse al Servidor de Base de datos ('.mysql_error().')';
+ fputs( $fp,date( "d/m/Y H:m:s")." connect: ".$aError['connect']."\n\n" );
$aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb'] );
}
}
-
+ fclose( $fp );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-200000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@@ -332,7 +389,7 @@
</table>
-<? if($bool_config AND $bool_upload AND $bool_tmp AND $bool_log AND $bool_cache AND $bool_memory_limit AND $bool_apache_get_version AND $bool_phpversion AND $bool_mysql_module AND $bool_mod_rewrite AND $bool_get_magic_quotes_gpc) { ?>
+<?php if($bool_config AND $bool_upload AND $bool_tmp AND $bool_log AND $bool_cache AND $bool_memory_limit AND $bool_apache_get_version AND $bool_phpversion AND $bool_mysql_module AND $bool_mod_rewrite AND $bool_get_magic_quotes_gpc) { ?>
<?php if($hasErrors) { ?>
<br><br>
@@ -484,46 +541,56 @@
return $aSql;
}
-function executeDump($file, $db) {
+function executeDump($file, $db,$fp) {
+ fputs( $fp,date( "d/m/Y H:m:s")." Entrando ExecuteDump: $file - $db \n\n" );
$aSql = dump2Array($file);
$error = false;
if(count($aSql) > 0 AND file_exists($file)) {
if(mysql_select_db($db)) {
+ fputs( $fp,date( "d/m/Y H:m:s")." ejecutando BEGIN \n\n" );
mysql_query("BEGIN");
foreach($aSql as $sql_line) {
$res = mysql_query(trim($sql_line));
if(!$res) {
+ fputs( $fp,date( "d/m/Y H:m:s")." Fallo SQL: $sql_line \n\n" );
+ fputs( $fp,date( "d/m/Y H:m:s")." error:". mysql_error()." \n\n" );
$error = true;
}
}
if($error == true) {
- echo "rollback";
+ fputs( $fp,date( "d/m/Y H:m:s")." Se encontraron errores ejecutando ROLLBACK y saliendo \n\n" );
mysql_query("ROLLBACK");
return false;
} else {
+ fputs( $fp,date( "d/m/Y H:m:s")." Sin errores ejecutando COMMIT y saliendo \n\n" );
mysql_query("COMMIT");
return true;
}
}
+ else {
+ fputs( $fp,date( "d/m/Y H:m:s")." Error al seleccionar la base: $db \n\n" );
+ return false;
+ }
} else {
+ fputs( $fp,date( "d/m/Y H:m:s")." Devuele false no ejecuta nada : $db \n\n" );
return false;
}
}
-function doInstall() {
+function doInstall($fp) {
global $_POST;
-
+ fputs( $fp,date( "d/m/Y H:m:s")." Entrando doInstall() \n\n" );
//verifica que base de datos instalar si la del ejemplo o solamente la
//de los datos_desde_cero iniciales
switch($_POST['db']['datos']) {
- case 'ejemplo': $sql_insert = SQL_INSERT_INICIAL; break;
- case 'minimos':
+ case "ejemplo": $sql_insert = SQL_INSERT_INICIAL; break;
+ case "minimos": $sql_insert = SQL_INSERT_EJEMPLO; break;
default: $sql_insert = SQL_INSERT_EJEMPLO;
}
-
- if(executeDump(SQL_CREATE, $_POST['db']['name'])) {
- if(executeDump($sql_insert, $_POST['db']['name'])) {
+ fputs( $fp,date( "d/m/Y H:m:s")." Utilizando SQL: $sql_insert \n\n" );
+ if(executeDump(SQL_CREATE, $_POST['db']['name'],$fp)) {
+ if(executeDump($sql_insert, $_POST['db']['name'],$fp)) {
$aReemplazo = array( 'USERDB' => $_POST['db']['user'], 'PASSDB' => $_POST['db']['password'], 'SERVER' => $_POST['db']['server'], 'DBNAME'=> $_POST['db']['name']);
$contenido_archivo = reemplzarArchivo(DATABASE_CONFIG_DIST,$aReemplazo);
file_put_contents(DATABASE_CONFIG, $contenido_archivo);
@@ -538,8 +605,8 @@
_symlink(INSTALL_DIR."dist/phing.sandbox/", ALBA_PATH."lib/phing");
_symlink(INSTALL_DIR."dist/".SYMFONY_DIR."/lib/", ALBA_PATH."lib/symfony");
_symlink(INSTALL_DIR."alba/data/symfony/web/sf/", ALBA_WEB."sf");
+ fputs( $fp,date( "d/m/Y H:m:s")." Creando Links \n\n" );
-
$rewrite_path = (OS_WINDOWS)?CURRENT_WEB_DIR.SYMFONY_WINDOWS_WEB_DIR:CURRENT_WEB_DIR.SYMFONY_WEB_DIR;
if(!OS_WINDOWS)
@@ -548,13 +615,14 @@
$aReemplazo = Array('REWRITE_PATH' => $rewrite_path);
$contenido_archivo = reemplzarArchivo(HTACCESS_DIST,$aReemplazo);
file_put_contents(HTACCESS, $contenido_archivo);
-
touch(INSTALL_COMPLETE_FILE);
-
+ fputs( $fp,date( "d/m/Y H:m:s")." Creando bandera INSTALL_COMPLETE_FILE \n\n" );
return true;
}
+ fputs( $fp,date( "d/m/Y H:m:s")." Fallo ejecutando: $sql_insert \n\n" );
return false;
} else {
+ fputs( $fp,date( "d/m/Y H:m:s")." Fallo ejecutando: SQL_CREATE \n\n" );
return false;
}
Más información sobre la lista de distribución Alba-desarrollo