我可以从我的PHP代码更改default_socket_timeout吗?

Rad*_*dek 14 php timeout

在我的php脚本中,我恢复了db2数据库备份.他们越来越大了.所以现在我在执行脚本后+ -30分钟后得到500服务器错误.(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_timeoutphp.ini文件就可以了.

有没有办法改变default_socket_timeoutPHP代码?

huy*_*itw 29

使用此PHP命令:

ini_set("default_socket_timeout", 6000);
Run Code Online (Sandbox Code Playgroud)

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

php_value default_socket_timeout 6000
Run Code Online (Sandbox Code Playgroud)

用中检查当前值 phpinfo()


sta*_*abm 6

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

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

  • 该错误已在最近的 php 版本中修复 - 5.4.33 - 5.5.17 - 5.6.0-rc4 (3认同)