Foros del Web » Programando para Internet » PHP »

Ayuda con install.php

Estas en el tema de Ayuda con install.php en el foro de PHP en Foros del Web. Hola amigos estoy creando un install.php para un programa que estamos desarrollando pero pues nadamas me manda un error haber si me pueden ayudar aqui ...
  #1 (permalink)  
Antiguo 03/04/2009, 18:31
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Ayuda con install.php

Hola amigos estoy creando un install.php para un programa que estamos desarrollando pero pues nadamas me manda un error haber si me pueden ayudar aqui les dejo el codigo:

Código PHP:
<?php

$url 
= (defined('ROOT_PATH')) ? ROOT_PATH './../';

// Obtengo toda la info para el primer paso
$nombre ='Settings.php';
$mmessage=($_REQUEST["mmessage"]);
$mbname=($_REQUEST["mbname"]);
$boardurl=($_REQUEST["boardurl"]);
$url=($_REQUEST["url"]);
$no_avatar=($_REQUEST["no_avatar"]);
$email=($_REQUEST["email"]);
$cookiename=($_REQUEST["cookiename"]);
$db_server=($_REQUEST["db_server"]);
$db_name=($_REQUEST["db_name"]);
$db_user=($_REQUEST["db_user"]);
$db_password=($_REQUEST["db_password"]);
$path=($_REQUEST["path"]);
$chatid=($_REQUEST["chatid"]);
$widget=($_REQUEST["widget"]);
$slogan=($_REQUEST["slogan"]);

$contenido ="<?php
\$maintenance = 0;
\$mtitle = 'Mantenimiento';
\$mmessage = '"
.$mmessage."';
\$mbname = '"
.$mbname."';
\$language = 'english';
\$boardurl = '"
.$boardurl."';
\$url = '"
.$url."'; // PON LA DIRECCIÓN DE TU WEB SIN / FINAL
\$chatid = '"
.$chatid."'; // ID de tu chat de xat.com
\$widget = '"
.$widget."'; // Lo que saldrá en el título del widget
\$slogan = '"
.$slogan."'; // lo que saldrá en el título de tu web, no pongas el nombre
\$no_avatar = '"
.$no_avatar."';
\$webmaster_email = '"
.$email."';
\$cookiename = '"
.$cookiename."';
\$db_server = '"
.$db_server."';
\$db_name = '"
.$db_name."';
\$db_user = '"
.$db_user."';
\$db_passwd = '"
.$db_password."';
\$db_prefix = 'smf_';
\$db_persist = 0;
\$db_error_send = 1;
\$boarddir = '"
.$path."';
\$sourcedir = '"
.$path."/Sources/';
\$db_last_error = 1227763486;
if (!file_exists(\$sourcedir) && file_exists(\$boarddir . '/Sources'))
    \$sourcedir = \$boarddir . '/Sources';
\$db_character_set = 'utf8';
?>"
;

// Creo el settings.php y añado todo
    
if (!($fp = @fopen($url 'Settings.' php'w'))) {
         echo 
"<span class='Estilo1'>No se puede abrir el archivo ($nombre)</span>";
         exit;
    }

    if (!(@
fwrite($fp$contenido) === FALSE)) {
        echo 
"<span class='Estilo1'>No se puede escribir al archivo ($nombre)</span>";
        exit;
    }

    echo 
"<div align='center' class='Estilo2'>Instalando Spirate v2 </div><br><br><span class='Estilo1'><img src='/trades/images/ajax.gif' /> Crear y configurar Settings.php Listo.</span>";

    @
fclose($fp);
        
// Ahh recta final insertar la db en el host

$archivo='dblimpia.sql'
$conecto=mysql_connect ($db_server$db_user ,$db_password);
mysql_select_db($db_name$conecto);
$fin=mysql_query (file_get_contents('dblimpia.sql'));
if (
$fin) {
echo 
"<span class='Estilo1'><br<img src='/trades/images/ajax.gif' /> Subir base de datos Listo.<br>
<div align='center'>
  <p>&iexcl;Enhorabuena!<br>
    <a href='"
.$url."'>&iexcl;Visita tu p&aacute;gina web haciendo clic aqu&iacute;! </a></p>
  <p>Instalación realizada con éxito, por favor, por seguridad elimina el instalar.php, el instalar2.php y el dblimpia.sql.</p>
  </span></div>
"
;
} else {
echo 
"<span class='Estilo1'>Error al subir fichero a la base de datos.</span>";
}
?>
aqui una imagen del error

  #2 (permalink)  
Antiguo 03/04/2009, 19:00
Avatar de Baleog  
Fecha de Ingreso: abril-2009
Ubicación: Medellin
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Ayuda con install.php

pues es exactamente lo q te dice, q no puede abrir el archivo settings.php, es posible que no tengas permisos de escritura en la carpeta donde se esta ejecutando el codigo
  #3 (permalink)  
Antiguo 03/04/2009, 20:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con install.php

Una de las causas puede ser que estés intentando abrir una URL y en tu archivo de configuración (php.ini) está deshabilitada la directiva allow_url_fopen
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 03/04/2009, 23:40
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Ayuda con install.php

pues nada amigos me eh revisado el php.ini y el allow_url_fopen esta en On, y si revisaron el codigo esta bien no? ahora si no tuviera los permisos de escritura en la carpeta como es posible que si me deje escribir en el config.php cuando instalo phpBB y pues el instalador hace la misma funcion asi que no entiendo porque no funciona, porque el codigo no tiene errores o si? y bueno no se que mas me sugieran hacer.
  #5 (permalink)  
Antiguo 05/04/2009, 14:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con install.php

mira, para poder crear un archivo...

debes siempre establecer los permisos usando chmod() para el archivo que quieres escribir...

si no existe, debes usar siempre el flag + en los modos de apertura del archivo, tal ves ese sea tu error...

Código PHP:
if ( ! is_file('foo.bar'))
{
  
touch('foo.bar');
  
chmod('foo.bar'0777);
}

// ..

fopen('foo.bar''w+'); 

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 05/04/2009, 18:35
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con install.php

seguramente tiene que relacionarse con
chmod()
  #7 (permalink)  
Antiguo 06/04/2009, 08:54
 
Fecha de Ingreso: enero-2008
Ubicación: Estado de México, México
Mensajes: 476
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Ayuda con install.php

Cita:
Iniciado por pateketrueke Ver Mensaje
mira, para poder crear un archivo...

debes siempre establecer los permisos usando chmod() para el archivo que quieres escribir...

si no existe, debes usar siempre el flag + en los modos de apertura del archivo, tal ves ese sea tu error...

Código PHP:
if ( ! is_file('foo.bar'))
{
  
touch('foo.bar');
  
chmod('foo.bar'0777);
}

// ..

fopen('foo.bar''w+'); 

suerte!
mmmm pero aplicandolo a mi codigo como seria? nunca eh utilizado esta sintaxis asi que no se como aplicarla te molestaria mucho decirme como porfa.

P.D : eh usado el chmod como viene en el manual de php.net pero me lanza este error:

Warning: chmod() [function.chmod]: No such file or directory in /home/a6028788/public_html/instalar2.php on line 64

Última edición por Charles87; 06/04/2009 a las 09:04
  #8 (permalink)  
Antiguo 06/04/2009, 09:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con install.php

caray....


bueno, solo te digo que chmod() esta bien documentado en el manual de PHP

http://php.net/chmod

¿como aplicarlo a tu código??

pues es muy sencillo, cuando abre el archivo (Creo el settings.php y añado todo)

solo cambia el modo de apertura de w a w+ para que de verdad, cree el archivo...

¿y ya leiste el manual de PHP??

http://php.net/fopen

el modo w es de escritura, esta bien... eso quieres, pero si el archivo NO existe... simplemente no pasa nada, de ahí... tu error!! (no lo crea)

el modo + sirve para crear el archivo, solo si NO existe.... lo crea



(ya no es necesario el chmod())

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 04:01.