El tiempo máximo de ejecución de PHP GoDaddy no funciona

El valor predeterminado de maximun_execution_time es de 120 segundos. He seguido todas las instrucciones para crear el archivo php.ini y lo coloqué en la ubicación correcta public_html. Ejecuté phpinfo () y descubrí que maximun_execution_time se ajustó correctamente a 600 segundos.

Pero el problema es que aún no es capaz de ejecutar el script que dura más de 120 segundos. Devolverá el código de error 500 Error interno del servidor después de 2 minutos de tiempo de ejecución.

archivo sleep.php:

 

archivo sleep.html:

  var beginSleep=function() { var timeNow = new Date(); $('input[type=button]').attr("disabled", true); $('#msg').html(timeNow.getHours()+":"+timeNow.getMinutes()+":"+timeNow.getSeconds()+" Sleeping...
"); $.ajax({ url: "sleep.php", data: $('#formSleep').serialize(), type:"POST", dataType:'text', success: function(msg) { timeNow = new Date(); $('#msg').append(timeNow.getHours()+":"+timeNow.getMinutes()+":"+timeNow.getSeconds()+msg); $('input[type=button]').removeAttr("disabled"); }, error:function(xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); };

Sleep time(seconds):

Capturas de pantalla:

http://img.rephp.com/php/IAiSpPS.jpg

http://img.rephp.com/php/w7A1nKA.jpg

Si ajusto el tiempo de reposo a 121 segundos y lo envío, no devolverá el mensaje “despertar”, sino que solicitará el código de error 500.

Últimas actualizaciones

He hablado con GoDaddy, dijeron que mi php.ini funciona correctamente porque pueden ver que el valor max_execution_time ha cambiado a 600 segundos. Pero no pudieron responderme por qué ocurrió el problema del tiempo de espera. Insistieron en que este es mi problema de creación de scripts y que mi script de prueba no es válido para probar el tiempo de ejecución.

Les mostré otro script de prueba que creo que es el más simple. El mensaje nunca se mostrará porque excede los 120 segundos y devolverá el código de error 500 del servidor interno.

  

Me mostraron sus scripts de prueba y afirmaron que la configuración de max_execution_time funciona bien.

test.php: el test.php se redirigirá a mi página de inicio después de 30 segundos.

 header( "refresh:30; url=http://my-site.net" ); echo "please wait 30 seconds"; 

Otro script de prueba que me mostraron es un bucle infinito “for (;;);”. Este script de prueba también expira automáticamente cuando supera los 120 segundos. Además de eso, el bucle infinito consumió el 80% de mis recursos de CPU.

 register_shutdown_function(function() { echo "shutdown function called\n"; }); set_time_limit(600); // Set time limit to 1 second (optional) for (;;) ; 

Concluyeron que mi max_execution_time no funciona correctamente se debe a que no tengo suficientes recursos de CPU.

No creo lo que dijeron porque Sleep () no usa muchos recursos. He intentado ejecutar los scripts de prueba de forma paralela, pero el uso de la CPU fue 0%. Además de eso, no creo que la función de encabezado (“refresh: 30”, url = …) pueda contar como un script de ejecución larga. El servicio de asistencia de GoDaddy no es tan bueno como esperaba.

El mismo problema con 000webhost y bluehost y ProISP, cualquier proceso PHP que se ejecute durante más de 120 segundos finalizará, independientemente de la configuración, para evitar que el servidor se sobrecargue, y usted debe preguntarle a un ingeniero (que realmente sepa cuál es el problema) para su cuenta / script para obtener una exención de esta característica de seguridad (buena suerte. Solo ProISP realmente me dio una exención para esto, para 1 script php específico …) – o podría comprar un VPS (ej., ramnode.com), o usar un servidor web que no tiene esta limitación (como syse.no), o utiliza un servidor web que podría estar dispuesto a darte una exención (como proisp.no)

El personal de soporte de GoDaddy está retrasado. ¿por qué? encabezado (“refresh: 30; url = http://my-site.net “); esto hará que YOUR BROWSER redirija y no tenga nada que ver con el tiempo de ejecución php, y no pudieron encontrar la verdadera causa del problema, y ​​el problema real no tiene nada que ver con el uso de su CPU.

Esta publicación me permitió boost mi límite de PHP.

Información clave:

  1. Abra una conexión SFTP a su cuenta de alojamiento GoDaddy

  2. En el mismo directorio que wp-config.php , crea un archivo .user.ini .

Tenga en cuenta el líder .

  1. En este archivo .user.ini , agregue max_execution_time = 180

Esto boostá el GoDaddy max_execution_time a 3 minutos.

Añádelo a la parte superior de tu script php:

 set_time_limit(600); //or set_time_limit(0); unlimited time ignore_user_abort(1); 

Coloque esto en la parte superior de su script PHP

 ini_set('max_execution_time', 300); //300 seconds = 5 minutes 

si funciona, entonces ejecuta

whereis php

Compruebe la ubicación de la carpeta de salida y vaya a este archivo de ubicación php.ini. comprobar max_input_time =?

GoDaddy no permite actualizar la configuración del servidor por defecto. Aunque encuentre path og php.ini, no tendrá acceso a la edición a través del cliente SSH / FTP según su política.

Solución: la única solución que encontré fue el soporte de Call to Godaddy. Una vez que permitan el permiso, podrá encontrar el campo editable en la ruta siguiente para las variables de PHP.

Ruta de acceso : Inicio> Software> Versión de PHP> Cambiar a opciones de PHP enter image description here

    Intereting Posts