web-dev-qa-db-ja.com

PHPコードからdefault_socket_timeoutを変更できますか?

私のphpスクリプトでは、db2データベースのバックアップを復元します。彼らはどんどん大きくなっています。そのため、スクリプトの実行後+ -30分後に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を変更する方法はありますか?

15
Radek

これでPHPコマンド:

_ini_set("default_socket_timeout", 6000);
_

または、次の行で.htaccessファイルを追加/更新します。

_php_value default_socket_timeout 6000
_

phpinfo()で現在の値を確認します

29
huysentruitw

phpにはdefault_socket_timeoutとSSLに関するバグがあることに注意してください。 HTTPS/SSLを使用する場合は、無限に待機します。

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

4
staabm

.htaccessファイル行を追加/更新できますphp_value default_socket_timeout 6000

1
user1548333