Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2015, 13:28
crash1912
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
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.