Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

pbs

script pára em certos servidores

Recommended Posts

pbs

Viva pessoal,

a questão é, preciso que um script corra durante várias horas, e tenho o script a correr bem num servidor, mas noutros pára sem motivo aparente.

o code:

<?php

print 'o loop começou';

ignore_user_abort(1);

$interval = 10;

set_time_limit(0);

#print ini_get('max_execution_time');

$file = fopen('log_loop.txt', 'w');

#-------------------------------------------------------------------
#LOOP

for( $i = 0; $i < 500; $i++ ):

fwrite( $file , date('h:i:s d-m-Y')." #".$i. " loop with of $interval second, should write 500\n");

#enforce
set_time_limit(0);

sleep( $interval );

endfor;

fclose( $file );

#END LOOP
#-------------------------------------------------------------------
?>

Já fiz alterações ao max_execution_time no próprio script e no ficheiro php.ini e nada.

Alguma ideia de qual config possa ser?

Obrigado.

Edited by yoda

Share this post


Link to post
Share on other sites
pbs

A função que lhe dou é para enviar mails sem exceder o limite do servidor por hora.

Na versão de testes que coloquei, escreve apenas num file..

É que quero mudar de alojamento, mas no que estou a testar ( PTisp ), esse script pára...

De todas as pesquisas que fiz, usar:

ignore_user_abort(1);

ignorar o fechar do browser

e

set_time_limit(0);

tempo infinito para execução

deveria ser suficiente, mas não é..

Share this post


Link to post
Share on other sites
themeleon

Isso deve-se ao facto de o teu host ter impedido a instrução set_time_limit(0); ignore_user_abort(1); já para evitar que faças este tipo de coisas (consumir recursos em background que dão cabo dos servidores todos)

Estas instruções na prática deixam o script a bombar horas e horas a fio, agora imagina o que é 100 pessoas chamarem o envio de uma newsletter por engano por exemplo....

Portanto se queres chamar instruçoes de x em x tempo automaticamente recomendo-te que uses cronjobs (no teu cpanel tens isso, a não ser q estejas a usar outro "webmaster cenas")

Edited by themeleon

Share this post


Link to post
Share on other sites
yoda

Eu não confiava nessa hipótese de poder configurar o php.ini, que muitas vezes vem mascarada ... tal como os ISP's comumente fazem com o "download ilimitado" que não o é.

Cronjobs, como te indicaram acima, é a opção mais viável para o teu caso, e se quiseres mesmo deixar o script a correr como tens, o ideal é arranjares servidor dedicado ou VPS. Alojamentos partilhados têm sempre limitações.

Edited by yoda

Share this post


Link to post
Share on other sites
taviroquai

Isso sao comentários em php?

Ok esqueçam a pergunta lol

Edited by taviroquai

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.