Domanda

Di recente ho creato un frontend Java per un servizio web PHP che utilizza phps SoapServer.

La mia applicazione sta eseguendo una sincronizzazione dei dati di lunga durata e da quello che so da PHP mi sono preparato per ottenere connessioni chiuse a causa del limite di max_execution_time.

Ma non ho mai ottenere qualsiasi tipo di errore, come se l'istanza è in esecuzione SoapServer per sempre.

La mia ipotesi migliore qui, è che io non capisco come SoapServer sta lavorando. Così, qualcuno può far luce su questo? È SoapServer non interessata dal max_execution_time?

EDIT:. nel mio test max_execution_time è impostato su 5 minuti, ma il mio programma è in esecuzione per ore

È stato utile?

Soluzione

Se il max_execution_time è impostato su 0, sia nel vostro php.ini o utilizzando ini_set() o set_time_limit() nello script, allora non ci sarebbe alcun limite. Potrebbe essere questo il motivo?

Modifica : Inoltre, ho appena notato questo nel manuale:

  

Nota: La funzione set_time_limit () e la direttiva di configurazione max_execution_time riguardano solo il tempo di esecuzione dello script stesso. Il tempo utilizzato per attività esterno l'esecuzione dello script come chiamate di sistema utilizzando il sistema (), operazioni streaming, interrogazioni database, ecc non è incluso nel determinare il tempo massimo che lo script è stato eseguito. Questo non è vero in Windows in cui il tempo misurato è reale.

Forse non si è trovato taglio del perché la maggior parte del tempo viene speso per streaming di dati o query di esecuzione, che secondo questo, non conterebbe verso il limite di tempo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top