我可以从php代码中更改default_socket_timeout吗


Can I change default_socket_timeout from my php code?

在我的php脚本中,我恢复db2数据库备份。它们越来越大。所以现在我在执行脚本+-30min后收到500服务器错误。php-errors.log文件中的(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中有这一行。

我认为设置`set_time_limit(6000);1会解决问题,但它没有。

在php.ini文件中增加default_socket_timeout就可以了。

有什么方法可以从php代码更改default_socket_timeout吗?

使用此PHP命令:

ini_set("default_socket_timeout", 6000);

或者使用以下行添加/更新.htaccess文件:

php_value default_socket_timeout 6000

phpinfo() 检查当前值

请注意,php有一个default_socket_timeout和SSL错误。如果您使用HTTPS/SSL,它将无休止地等待。

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

您可以添加/更新.htaccess文件行php_value default_socket_timeout 6000