Cum pot utiliza ini_set('max_execution_time', 0);
?
Întrebarea 1: Îl plasez în partea de sus a fișierului .PHP sau într-o funcție care durează mult timp pentru a face ceva?
Întrebarea 2: Această setare durează pentru totdeauna după ce a fost setată? Sau revine la valoarea inițială de 300sec sau la orice altă valoare implicită după ce funcția se oprește din execuție?
Poți să o plasezi oriunde, dar acea setare nu va avea efect până când nu se execută. Deci, dacă o pui în partea de sus, atunci scriptul nu va avea niciodată timeout. Dacă îl pui mai jos, pe funcția care poate dura ceva timp, atunci s-ar putea să primești un timeout mai sus dacă scriptului îi ia mult timp să ajungă acolo unde l-ai apelat.
Atunci când utilizați ini_set()
această opțiune rămâne în vigoare pentru întreaga execuție a scriptului.
- Presupun că dacă aș pune
ini_set()
la începutul unei funcții PHP care are nevoie de foarte mult timp pentru a-și termina sarcina, acea opțiune rămâne până când funcția se întoarce la apelant? – > . - @Nyxynyx nu — rămâne până când întregul script este complet terminat de încărcat – > .
- @nyxynyx, gândiți-vă la
ini_set()
ca la setarea unei opțiuni globale. Nu contează unde o apelați. Setați o opțiune PHP pe motor, nu pe scriptul dvs. Nu contează unde o apelați (într-o funcție, nu într-o funcție), acea setare este apoi setată pentru întreaga execuție a scriptului dvs., de la început până la sfârșit, indiferent de domeniul de aplicare. – > .
2: Durează doar pentru acea pagină care s-a încărcat. după aceea s-a terminat.
1: Ar trebui să fie plasat la începutul codului, dar poate fi plasat oriunde.
Răspuns 1: înainte de a executa codul de lungă durată
Răspuns 2: durează până când se termină procesul php
ini_set()
sunt per-script-execuție. Se aplică numai la scriptul respectiv și numai în timp ce acesta este în execuție. Nu va modifica setările globale ale PHP pentru alte scripturi. – > Por Marc B.max_execution_time
la zero: stackoverflow.com/questions/4306605/…. – > Por Sk8erPeter.