Можно ли изменить default_socket_timeout из моего php-кода?

В моем php script я восстанавливаю резервные копии базы данных db2. Они становятся все больше и больше. Итак, теперь я получаю 500 Server Error после + -30 мин после выполнения script. Эта строка находилась в (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 в файле php-errors.log.

Я думал, что установка `set_time_limit (6000); 1 решит проблему, но это не так.

Увеличение файла default_socket_timeout в файле php.ini сделало трюк.

Есть ли способ изменить default_socket_timeout из php-кода?

Ответ 1

С помощью этой команды PHP:

ini_set("default_socket_timeout", 6000);

Или добавьте/обновите файл .htaccess с помощью этой строки:

php_value default_socket_timeout 6000

Проверьте текущее значение с помощью phpinfo()

Ответ 2

Остерегайтесь факта, что php имеет ошибку с default_socket_timeout и SSL. Он будет ждать бесконечных, если вы используете HTTPS/SSL.

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

Ответ 3

вы можете добавить/обновить файл .htaccess line php_value default_socket_timeout 6000