2012-07-27 5 views
10

Nel mio script php ripristino i backup del database db2. Stanno diventando sempre più grandi. Quindi ora ricevevo 500 Errore del server dopo + -30min dopo aver eseguito lo script. C'era questa riga in (mod_fastcgi.c.3352) response not received, request sent: 634 on socket: tcp:127.0.0.1:9090 for /wrational/restoredb.php?mode=restore&database=RATIONAL, closing connection nel file php-errors.log.Posso cambiare default_socket_timeout dal mio codice php?

Ho pensato che l'impostazione `set_time_limit (6000); 1 avrebbe risolto il problema ma non è così.

L'aumento di default_socket_timeout nel file php.ini ha risolto il problema.

C'è un modo per modificare default_socket_timeout dal codice php?

risposta

24

Con questo comando PHP:

ini_set("default_socket_timeout", 6000); 

O aggiungere/aggiornare il file .htaccess con questa linea:

php_value default_socket_timeout 6000 

controllare il valore corrente con phpinfo()

1

è possibile aggiungere/aggiornamento il file .htaccess riga php_value default_socket_timeout 6000

3

attenti al fatto che php ha un bug con default_socket_timeout e SSL. Aspetterà senza fine nel caso utilizzi HTTPS/SSL.

https://bugs.php.net/bug.php?id=41631

+3

il bug è stato risolto in versioni di PHP recenti - 5.4.33 - 5.5.17 - 5.6.0 RC4 – staabm