2012-07-27 14 views
10

W moim skrypcie php przywracam kopie zapasowe bazy danych db2. Są coraz większe. Tak więc otrzymałem 500 błędów serwera po +30 minutach po wykonaniu skryptu. W pliku php-errors.log znajdował się ten wiersz w (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.Czy mogę zmienić default_socket_timeout z mojego kodu php?

Myślałem, że ustawienie `set_time_limit (6000); 1 rozwiąże problem, ale nie ma.

Zwiększenie default_socket_timeout w pliku php.ini załatwiło sprawę.

Czy istnieje sposób zmiany default_socket_timeout z kodu php?

Odpowiedz

24

pomocą tego polecenia PHP:

ini_set("default_socket_timeout", 6000); 

lub dodać/zaktualizować plik .htaccess z tej linii:

php_value default_socket_timeout 6000 

sprawdzić aktualną wartość z phpinfo()

1

można dodawać/aktualizację plik .htaccess linia wartość_php wartość domyślna_socket_timeout 6000

3

uwaga na to, że php ma błąd z default_socket_timeout i SSL. Będzie czekać bez końca, jeśli korzystasz z HTTPS/SSL.

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

+3

Błąd został naprawiony w najnowszych wersjach php - 5.4.33 - 05.05.17 - 5.6.0-RC4 – staabm

Powiązane problemy