Foros del Web » Administración de Sistemas » Unix / Linux »

Problema con session.upload_progress, en CentOs 6.x

Estas en el tema de Problema con session.upload_progress, en CentOs 6.x en el foro de Unix / Linux en Foros del Web. Acudo aquí como último recurso, tengo 4 servidores con centos, uno de ellos, el más antiguo, aún con Centos 5.6 actualizado, los demás, Centos 6.4 ...
  #1 (permalink)  
Antiguo 11/01/2015, 13:28
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 13 años, 5 meses
Puntos: 4
Exclamación Problema con session.upload_progress, en CentOs 6.x

Acudo aquí como último recurso, tengo 4 servidores con centos, uno de ellos, el más antiguo, aún con Centos 5.6 actualizado, los demás, Centos 6.4 y 6.6.

La función de php session.upload-progress (http://php.net/manual/en/session.upload-progress.php) funciona solo en el primero (en los demás, ni se llega a tocar $_SESSION), decir que en todos está habilitado con los siguientes parámetros:



Decir, que todos éstos datos, he probado a cambiarlos probando todas las combinaciones posibles On Off 1 100 1%... etc...
Y que la configuración en todos los servidores, es idéntica al 100% en este aspecto.

En 3 de los 4 servidores, utilizo Plesk 12 actualizado y uno que no usa ningún panel.
En el que SÍ funciona es el que tiene Plesk 12 y Centos 5.6.

Y por supuesto, todos configurados como Módulo PHP y comprobado:


Para que puedan verlo, he habilitado 2 hosting provisionales:
El que sí funciona(Servidor más antiguo):
http://uploadprogresssifunciona.ddns...adprogress.php

Y el que no funciona (los más nuevos):
http://uploadprogressnofunciona.ddns...adprogress.php

el script que estoy utilizando para hacer las pruebas es exactamente el mismo en ambos sitios:
Código PHP:
<?php
  $version 
explode'.'phpversion() );
  if ( (
$version[0] * 10000 $version[1] * 100 $version[2]) < 50400 )
    die( 
'PHP 5.4.0 or higher is required' );

  if ( !
intval(ini_get('session.upload_progress.enabled')) )
    die( 
'session.upload_progress.enabled is not enabled' );

  
session_start();
  if ( isset(
$_GET['progress']) ){
    
$progress_key strtolower(ini_get("session.upload_progress.prefix").'demo');
    echo 
'<pre>Contenido de $_SESSION:';
    
print_r($_SESSION);
    echo 
'</pre>';
    
$_SESSION['n']++;
    if ( !isset( 
$_SESSION[$progress_key] ) ) exit( "uploading..." );

    
$upload_progress $_SESSION[$progress_key];
    
/* get percentage */
    
$progress round( ($upload_progress['bytes_processed'] / $upload_progress['content_length']) * 100);

    exit( 
"Upload progress: $progress%" );
    die();
  }
  
$_SESSION['n'] = 0;
?>
<!doctype html>
<html>
  <head>
    <script type="text/javascript" src="/scripts/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            var uploading = false;
            $('form').submit(function() {

                uploading = true;
                $('#upload-frame').one('load', function(){
                    uploading = false;
                });

                function update_file_upload_progress() {
                    $.get("?progress", function(data) {
                        $("#file_upload_progress").html(data);
                        if (uploading) {
                            setTimeout( update_file_upload_progress, 500 );
                        }
                    })
                    .error(function(jqXHR, error) {
                        alert(error);
                    });
                }

                // first call
                update_file_upload_progress();
            });
      });
    </script>
  </head>
  <body>
    <section>
      <h1>Upload Form</h1>
      <form action="" method="POST" enctype="multipart/form-data" target="upload-frame">
        <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="<?php //echo $uid; ?>demo" />
        <p>
          <label>File:</label>
          <input type="file" name="file" required="required" />
        </p>
        <p><input type="submit" name="submit" value="Upload" /></p>
      </form>
      <div id="file_upload_progress" style="width: 1280px;min-height: 350px; border: 1px solid black; overflow-y: visible;"></div>
      <iframe id="upload-frame" name="upload-frame" width="1280" height="100"></iframe>
    </section>
  </body>
</html>
¿Que estoy haciendo mal con los servidores más nuevos?

Para varios proyectos necesito de ésta función operativa... espero que puedan ayudarme.
  #2 (permalink)  
Antiguo 11/01/2015, 17:03
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Problema con session.upload_progress, en CentOs 6.x

Caso extraño el tuyo,,,, lo que me hace dudar es que solo te funciona el que monta un centos 5.x. Parece alguna configuración de seguridad(iptables, etc...) mas que un problema de php.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 11/01/2015, 17:31
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: Problema con session.upload_progress, en CentOs 6.x

Cita:
Iniciado por lauser Ver Mensaje
Caso extraño el tuyo,,,, lo que me hace dudar es que solo te funciona el que monta un centos 5.x. Parece alguna configuración de seguridad(iptables, etc...) mas que un problema de php.
Además, acabo de probar en otro servidor en máquina virtual, instalación limpia recién descargada de Plesk bajo Ubuntu, PHP 5.5... con exactamente el mismo resultado, no funciona...

iptables puede tener algo que ver? no lo entiendo, ya que supuestamente el script php lo ejecuta el servidor en local... El usuario está subiendo un contenido que durante la subida va a parar a /tmp/ y php revisa ese mismo archivo en cada ejecución del script...

En cuanto a permisos... /tmp/ está con 777, no descarto que sea algun problema de configuración de seguridad, alguna explicación debe tener, pero ya no sé que más probar...

Lo que no paro de repetirme, alguna explicación debe tener este fenómeno paranormal.
  #4 (permalink)  
Antiguo 12/01/2015, 14:40
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Problema con session.upload_progress, en CentOs 6.x

Puedes poner los logs de iptables?
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #5 (permalink)  
Antiguo 12/01/2015, 19:46
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Problema con session.upload_progress, en CentOs 6.x

Si no los tienes implantados o no recuerdas como generarlos...postealo.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #6 (permalink)  
Antiguo 14/01/2015, 07:49
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con session.upload_progress, en CentOs 6.x

No puedo ver los ejemplos, pero ¿has probado revisar los logs de apache, a ver si las peticiones que hacés via AJAX llegan?
¿Has revisado la consola del navegador, a ver si las peticiones se envían y obtienen respuesta?

Etiquetas: apache, centos, php, php.ini, servidores, session
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 05:44.