[ uh noonthe @ 15.12.2007. 06:04 ] @
imam sajt na godaddy hostingu
i izgleda da su onemogucili menjanje vremena izvrshenja scripte
jer shta god stavim

set_time_limit(0);
set_time_limit(9999);
set_time_limit(31946);

scripta prekine izvrshavanje posle minut.
isti sluchaj sa
ini_set('max_execution_time', 0);
ini_set('max_execution_time', 9999);

treba mi vishe od minut execution time poshto scripta cheka response nekog drugog sajta/servera
a taj sajt usled opterecenja uspori nekad toliko da se odazove tek posle 2-3 minuta

jel postoji neka set_time_limit alternativa ili bilo koje reshenje ovog problema?
[ Miroslav Ćurčić @ 15.12.2007. 13:16 ] @
Proveri da nije uključen safe_mode, ako jeste onda je funkcija set_time_limit(); neupotrebljiva i nema alternative.
[ uh noonthe @ 15.12.2007. 21:17 ] @
e da
to sam zaboravio da napomenem

nije ukljuchen safe mode

zato i mislim da ima neka nada
[ Miroslav Ćurčić @ 15.12.2007. 23:29 ] @
Jes' proverio u phpinfo(); da nije stavljena u kategoriju "disabled functions" (ili tako nekako).

Takođe, jesi li siguran da skript puca zbog isteka vremena, da nije nešto drugo prekinulo izvršavanje, postavi error_reporting, mogao bi staviti i neki ispis na kraju skripta da vidiš da li tada "kad pukne" dali je uopšte stigao do kraja skripte (ustvari prerano ju je završio) ili je grubo pukao usred izvršavanja.
[ uh noonthe @ 16.12.2007. 01:35 ] @
u disabled functions nema ni nje ni nishta
a i ne spominje se nigde u phpinfo

testirao sam to vec
pukne tachno tu pri chekanju podataka sa drugog servera

a i u localu gde mi normalno radi set_time_limit i scripta normalno radi i izvrshi se posle 2-3 minuta (u tim momentima kad je remote server opterecen pa mu treba duze.) i sve bude ok


znachi treba mi neki nachin da produzim vreme izvrshenja scripte
[ afwt @ 16.12.2007. 09:46 ] @
Da li ti PHP stvarno ispise poruku "maximum execution time exceeded in ..."? I koliko ti ispise? Jel uvek 60 sekundi?

Ja bih rekao da imas neki drugi problem tu, da nije do toga... ako ti server i javlja to, onda me zivo zanima kako su uspeli to da podese.... Jel phpinfo() bas nista ne kaze o time limitu?

Inace, probaj varijante tipa: setuj vreme, pa pozovi phpinfo, cisto da vidis jel vrednost promenjena....
[ afwt @ 16.12.2007. 09:57 ] @
Evo, odmah da se ispravim... malo guglanja kaze: http://bogdan.org.ua/2007/10/1...xecution-limit-python-elf.html

dakle, ogranicenje kanda nije na bazi php-a.

Inace, imam X klijenata koji su pokusavali da teraju neke aplikacije na godaddy-ju i mogu slobodno da tvrdim da je godaddy djubre za bilo kakvu napredniju upotrebu. Jednostavno ne pije vodu, postoji more provajdera koji nude bolju uslugu....

O podrsci necu ni da pricam.... Izbaci klijentu aplikacija na kraju izvrsavanja "Warning: Failed to write session data in Unknown on line 0", ja mu kazem ono sto i vrapci znaju (vijaj podrsku, idioti nemaju writeable folder za sesije, vidis da ne puca u skripti uopste), oni odgovore "mi ne podrzavamo 3rd party aplikacije".... pa lepo da odes da ih bijes.... :-(
[ uh noonthe @ 16.12.2007. 21:18 ] @
moguce da je tako neshto
jer meni ni ne ispishe nikakvu greshku iako je error reporting stavljen na all
shto valjda znachi da php nije zaustavio izvrshavanje scripte, nego neshto drugo

evo probao sam i sa

ini_set('default_socket_timeout', 999);
ini_set('max_execution_time', 999);
ini_set('max_input_time', 999);
stream_set_timeout($stream, 999);

...ali nishta
opet stane posle minut


u phpinfo od vremenskih ogranichenja ima

max_execution_time 30
max_input_time 60
default_socket_timeout 60

i da, testirao sam
stane scripta tachno na tom delu
sem toga u localu radi chim ubacim set_time_limit, a bez toga ne radi, znachi to je.. treba joj samo vishe vremena
kako
[ uh noonthe @ 20.12.2007. 20:07 ] @
neko, neshto?
iko?
[ 1r0nM4n @ 20.12.2007. 21:15 ] @
A jesi li probao da kontaktiraš tehničku podršku (support)?
[ Mister Big Time @ 30.01.2012. 10:35 ] @
Ja imam suprotan slucaj. Ne zelim da cekam duze od npr. 20 sek.
Sta je problem - ako se radi o izvrsnju PHP koda (petlja koja mora mnogo da vrti), to je u redu i onda ga sasece sa set time limit ili sa ini_set('max_execution_time', 20); // 20 sek.
Medjutim kada PHP ceka odgovor od drugog servera tj. preko funkcije file_get_cont. onda izgleda ne mogu da mu kazem koliko ce da ceka!

Da li da gledam na strani web servera taj limit?


EDIT: Posle svih kombinacija, ova radi jedina:
Code:

ini_set("error_reporting", (E_ALL ^ E_WARNING ^ E_NOTICE)); // da ne prikazuje warning kada pukne file_get_contents...

ini_set('default_socket_timeout', 10); // N sekundi po SVAKOM socketu tj pozivu externe strane/servera!!! Posto imam 5 na strani, max cekanje za svaki od njih je 10 sek.


// sve ovo nema svrhu kada je cekanje sadrzaja sa drugog -externog servera! 

//ini_set('max_execution_time', 5);
//ini_set('max_input_time', 5);
//set_time_limit(5);
//stream_set_timeout($mojpoziv, 5);



[Ovu poruku je menjao Mister Big Time dana 30.01.2012. u 12:23 GMT+1]
[ Mister Big Time @ 01.02.2012. 09:00 ] @
Ne mogu da verujem. Ni ovo ne radi kada dodje do timeout-a zbog mreze/whatever..


Rezultat: RS1: RS2: DE: 11 USA: 11

(prva dva su prazna jer nije vratio nikakav odgovor, a runtime skripte je bio zbog toga 48 sekundi... to je ono sto zelim da izbegnem! Ako dodje do timeout-a da ne ceka ovoliko vec da ga sasece odmah posle npr. 5 sek.

Da li je to uopste moguce u PHP-u pitam se... xD

Dakle da ne dolazi do ovoga posle 60 sekundi...
Code:
Warning: file_get_contents(https://xxx/test.txt) [function.file-get-contents]: failed to open stream: Connection timed out in /var/www/kraj.php on line 16
[ Miroslav Ćurčić @ 04.02.2012. 17:45 ] @
Ako želiš veću kontrolu nad procesom, onda nemoj koristiti file_get_cont nego fsockopen.
Tu imaš mogućnost da postaviš timeout parametar.
[ Mister Big Time @ 05.02.2012. 22:37 ] @
Nesto drugo je bilo po sredi.

Ipak radi direktiva: ini_set('default_socket_timeout', 10); // N sekundi po SVAKOM socketu tj pozivu externe strane


fsockopen() koristim za druge stvari, ali mogao bih i preko toga da formiram upit ka fizickom fajlu uz setovanje timeout-a kao poslednjeg parametra za f-ju.