Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

179
Vistas
Cómo ejecutar la llamada ajax simultáneamente - php

Puede ser una pregunta tonta, pero no puedo entender fácilmente por qué se comporta así.

Tengo dos funciones de llamada ajax,

execCommand() : para ejecutar el comando de shell a través de php

shell_exec('ping 127.0.0.1 > ../var/log/tmp.log');

getLog() : para recopilar registros de execCommand() [../var/log/tmp.log] y mostrarlos al usuario [lectura en vivo]

echo file_get_contents(../var/log/tmp.log);

Este es el script jquery ajax

 $("#docker_install_fek").on("click",function(){ $('#progress-window').show(); getLog(); execCommand(); }); function execCommand(){ $.ajax({ url: '<?php echo $block->getUrl('meta/reports/ajax',[]);?>', type: 'POST', data:{ip:$("#ip").val()}, success: function(data) { alert(data); }, error: function() { alert("fail"); } }); } function getLog() { $.ajax({ type: "GET", url: "<?php echo $block->getUrl('meta/reports/progress',[]);?>", dataType: "text", success: function (data) { $("#progress-window").empty(); $("#progress-window").append("<pre>"+data+"</pre>"); $("#progress-window").scrollTop(1E10); setTimeout(getLog, 3000); }, headers: { "Range" : "bytes=-500" } }); }

Me doy cuenta en la pestaña de red de firebug, ambas llamadas ajax se están cargando pero nunca muestran el registro hasta que execCommand() finaliza la ejecución.

No sé cuál es la razón principal, pruebo como ejecutar ping 127.0.0.1 > ../var/log/tmp.log desde la terminal y luego comentar execCommand() ahora getLog() archivo de registro de actualización de la función cada 3 segundos.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Estás usando sesiones. En el lado del servidor, las sesiones están bloqueadas, por lo que solo puede tener los archivos de sesión abiertos por un script a la vez.

Si tiene secuencias de comandos del lado del servidor que no deberían bloquear, entonces no use session_start() en ellas, o asegúrese de cerrar la sesión con session_write_close() tan pronto como pueda, para permitir que se ejecuten otras secuencias de comandos.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda