Foros del Web » Programando para Internet » PHP »

Ayuda PclZip

Estas en el tema de Ayuda PclZip en el foro de PHP en Foros del Web. Hola a todos, Estoy usando el siguiente script, para extraer un zip subido al servidor: Código PHP: copy ( $remoto ,  $ruta2 ); mkdir ( ...
  #1 (permalink)  
Antiguo 31/12/2009, 09:25
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Ayuda PclZip

Hola a todos,

Estoy usando el siguiente script, para extraer un zip subido al servidor:

Código PHP:
copy($remoto$ruta2);
mkdir($ruta_absoluta.'galerias/'.$archivo.'/');
chmod($ruta_absoluta.'galerias/'.$archivo.'/',0777);
require_once(
'clases/pclzip.lib.php');
$archive = new PclZip($ruta2);
            
            
            
if (
$archive->extract(PCLZIP_OPT_PATH$ruta_absoluta.'galerias/'.$archivo.'/') == 0) {
die(
"Error : ".$archive->errorInfo(true));

Lo que pasa es que no se me extraen los files del ZIP, miré las array que me devolvia la funcion y en todos los files me pone: status -> write_error

galerias/ --> tiene chmod 777 y user llamemosle X (el del ftp)
galerias/nuevo_directorio --> Tambien tiene chmod 777 porque se lo pongo, y de user tiene apache apache.

Me dado cuenta que si descomprimo directamente el contenido del zip en el mismo sitio donde se encuentra galerias/ si que funciona. Por lo que me hace pensar que hay un conflicto de propietarios?

Alguna idea?

Un saludo!
  #2 (permalink)  
Antiguo 31/12/2009, 15:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda PclZip

Revisa en tu php.ini, si esta safe_mode activado entonces vas a tener que pasarlo a Off para poder hacer lo que requieres, ya que seguramente tu interprete esta configurado como CGI y por eso te hace el error de permisos.

Saludos.
  #3 (permalink)  
Antiguo 31/12/2009, 17:44
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Ayuda PclZip

si tu proveedor de hosting no te da acceso a php.ini edita o crea tu .htaccess y pon
Código Apache:
Ver original
  1. php_flag 'safe_mode' 'off'
__________________
...
  #4 (permalink)  
Antiguo 31/12/2009, 19:00
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Ayuda PclZip

Cita:
Iniciado por GatorV Ver Mensaje
Revisa en tu php.ini, si esta safe_mode activado entonces vas a tener que pasarlo a Off para poder hacer lo que requieres, ya que seguramente tu interprete esta configurado como CGI y por eso te hace el error de permisos.

Saludos.
Tienes razón, puse safe mode OFF, y ya me funciona. ¿Pero eso me resta seguridad no? Y por qué ocurre eso con el Safe mode? Tengo un servidor dedicado entero.

Antes de cambiar a safe mode OFF probé de crear la carpeta con los permisos de FTP, mediante funciones de ftp vía php, pero cada vez que quería modificar, eliminar o lo que fuera, tenía que usar tambien funciones ftp y era algo engorroso.

Última edición por urameshix; 31/12/2009 a las 19:20
  #5 (permalink)  
Antiguo 31/12/2009, 19:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda PclZip

No, de hecho en PHP6 ya esta removido por completo, el safe_mode tiene más problemas que realmente soluciones, es mejor que programes de forma correcta para tener la seguridad necesaria.

Revisa esto: http://www.php.net/manual/en/ini.sec...#ini.safe-mode y esto: http://php.net/manual/en/features.safe-mode.php

Saludos.
  #6 (permalink)  
Antiguo 01/01/2010, 04:09
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Ayuda PclZip

Sip, además leí que es una solución para la seguridad en servidores compartidos, y en mi caso es un servidor dedicado entero, así que con más motivo.

De todos modos, no entendí muy bien el por qué, me prohibía hacer eso, pero ya me informaré sobre tema de usuarios.

Un saludo y feliz año!
  #7 (permalink)  
Antiguo 01/01/2010, 14:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda PclZip

No es tanto una solución, es mas bien un parche a un problema que se debe de resolver a nivel WebServer.

Te prohibía hacer eso porque cuando subes un archivo vía FTP, se sube con tu owner, o el de la cuenta FTP, y cuando lo haces vía PHP se hace con el user bajo el proceso que este trabajando, cuando esta safe_mode activo, hace un chequeo de permisos, y si es diferente, pasa eso, te da error.

Saludos.
  #8 (permalink)  
Antiguo 02/01/2010, 07:36
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Ayuda PclZip

Entiendo GatorV,

Entonces si por ejemplo, yo tengo todas mis carpetas con el usuario del ftp, y luego aparte dentro de esas carpetas tengo carpetas con usuario "apache apache", que son las que subo con el PHP, no pasa nada no? A nivel de seguridad...para estar mas tranquilo.

Aunque mirándolo friamente, por qué motivo cuando tenia el safe mode ON, y creaba una carpeta con PHP dentro de una carpeta con usuario el del ftp, si funcionaba?

Un saludo y gracias GatorV!
  #9 (permalink)  
Antiguo 03/01/2010, 01:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda PclZip

Es que depende de que usuario tenga mas permisos que otro, por defecto el usuario apache puede estar corriendo con permisos de root, por ende tiene mas permisos que los demas users.

Todo es cuestión de permisos.

Saludos.
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 22:06.