web-dev-qa-db-ja.com

MYSQLで最大実行時間を設定する/ PHP

約48,000人の子供(約50MB)を持つXMLドキュメントがあります。これらの子のそれぞれに対して新しいエントリを作成するINSERT MYSQLクエリを実行します。問題は、サイズが大きいために時間がかかることです。実行後、これを受け取ります

Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18

最大実行時間を無制限に設定するにはどうすればよいですか?

ありがとう

9
Harris Geo

あなたはあなたのPHPコードでset_time_limitを設定することでそれを作ることができます(制限なしのために0に設定します)

set_time_limit(0);

または、php.iniでmax_execution_timeの値を直接変更する

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 120  

またはini_set()で変更する

ini_set('max_execution_time', 120); //120 seconds

ただし、この3番目のオプションについては、

max_execution_time

セーフモードで実行している場合、ini_set()を使用してこの設定を変更することはできません。唯一の回避策は、セーフモードをオフにするか、php.iniの制限時間を変更することです。

ソース www.php.net

10
Imane Fateh

MYSQL/PHPで最大実行時間を設定できます。それはとても簡単です。

単一のPHP=ファイルで最大実行時間を設定するには、最初のphpタグの直後にこのコードを配置します。

ini_set(‘max_execution_time’, 0)

Php.iniファイルで最大実行時間を設定します。必要に応じて設定できます。

max_execution_time=360 //360 seconds = 6 minutes

Htaccessファイルで最大実行時間を設定します。

php_value max_execution_time 0

ここで段階的に読む もできます。

0
Rinku

これをスクリプトの一番上に置きます。

ini_set('max_execution_time', 300);

これで5分になります。

0
Tdelang

アプリケーションの開始時にini_setを使用できます。

ini_set('max_execution_time', *number of seconds here*); //300 seconds = 5 minutes
0
Nick Shears

apache Webサーバーの最大実行時間は300秒(5分)なので、スクリプトが非常に長い場合はオプションを選択する必要があります

  1. スクリプトはほとんどの5分間で実行できます。php.iniファイルを開き、max_execution_time = (seconds)を_max_execution_time = 300_などに変更します。

2.スクリプトに5分以上かかる場合は、最初にHttpd.confファイル(Apache構成ファイル)を変更する必要があります

_TimeOut (number of seconds you want)
_

php.iniでもmax_execution_time = (number of seconds you want)

0
user1324491