Foros del Web » Programando para Internet » PHP »

Distintos uid

Estas en el tema de Distintos uid en el foro de PHP en Foros del Web. Hola a todos. Os cuento mi problema. Tengo una web funcionando bien. La he migrado a otro sitio web dentro del mismo servidor (Apache) y ...
  #1 (permalink)  
Antiguo 29/03/2005, 12:41
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Distintos uid

Hola a todos.

Os cuento mi problema. Tengo una web funcionando bien. La he migrado a otro sitio web dentro del mismo servidor (Apache) y estoy teniendo errores de restricciones SAFE MODE.

Mi script sube archivos al servidor y luego los abre sin problema, siempre que se trate de directorios creados desde el cliente de FTP. Los errores vienen cuando el propio script crea un directorio con mkdir (dándole permisos 777), y luego intenta escribir algo dentro.

Os pongo un fragmento del código:

Código PHP:
// Directorio para los logs del mes actual
$fecha_dir_log="logs_".date("m-Y");

// Si no existe el directorio del mes actual para el log, lo creamos
if (!is_dir($fecha_dir_log)) {
    
mkdir($fecha_dir_log0777);
}

// Abrimos el log
$log=fopen($fecha_dir_log."/log.txt"'a'); 
Pues bien, en el fopen me da el error:

Cita:
Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 208 is not allowed to access /furanet/sites/miweb.com/web/htdocs/pruebas/privado/logs_03-2005 owned by uid 65534
La uid del script es 208, sin embargo, el directorio se crea con otra uid distinta.

Detalles a tener en cuenta:
- El phpinfo() me dice que safe_mode está a off.
- Este mismo script funcionaba perfectamente en otro dominio, pero en el mismo servidor.

Según he leido por ahí, se aconseja no usar el mkdir en safe mode porque crea los directorios con otra uid distinta de la del script, pero si este servidor no tiene el safe mode, ¿por qué me sale este error? ¿y por qué en el otro dominio sí funciona?

Bueno, perdón por el rollo. Gracias de antemano a quien me pueda ayudar.

Mario.
  #2 (permalink)  
Antiguo 30/03/2005, 07:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que vas a tener que usar umask()

umask(0);
mkdir( .....) con el permiso que requieras ..

www.php.net/umask

Un saludo,
  #3 (permalink)  
Antiguo 30/03/2005, 08:13
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
El administrador del servidor me ha dicho que estaba el safemode en on (no lo entiendo, el phpinfo me lo daba como off), y lo ha puesto en off, así que ahora no tengo problema.

Sin embargo, si se me presenta el problema de nuevo, echaré un vistazo al umask().

Como siempre, gracias, Cluster, por tu ayuda.

Mario.
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 08:21.