121

phpMyadmin で (いくつかの) クエリを実行しようとすると、このエラーが発生します

致命的なエラー: 140 行目の C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php で最大実行時間が 60 秒を超えました

非常に大きなテーブル (900 万件以上のレコード) があるため

ファイル C:\xampp\php\php.ini を編集しました

「最大実行時間」の値を60から1000に変更してから、PHPを再起動しても同じエラーが発生します。

解決策はありますか?

4

12 に答える 12

236

同じエラーが発生しました。

xampp\phpMyAdmin\libraries\config.default.php

探す :$cfg['ExecTimeLimit'] = 600;

「600」は、「6000」などの任意の高い値に変更できます。

秒単位の最大実行時間は (制限なしの場合は 0) です。

これでエラーが修正されます。

于 2012-12-13T10:46:41.390 に答える
125

Windows の Xampp バージョンの場合

この行をxampp\phpmyadmin\config.inc.phpに追加します

$cfg['ExecTimeLimit'] = 6000;

そして、xampp\php\php.iniを次のように変更します

post_max_size = 750M 
upload_max_filesize = 750M   
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

そしてxampp\mysql\bin\my.iniを変更します

max_allowed_packet = 200M
于 2013-07-13T08:16:44.753 に答える
15

カールの実行中に同じ問題に直面しました。php.iniファイルで次のように変更すると、正しくなりました。

max_execution_time = 1000 ;

そしてまた

max_input_time = 1000 ;

おそらく、上記の 2 つの変更を行い、Apache サーバーを再起動することで問題が解決するはずです。

上記を変更した後でも問題は解決しません。mysql を使用したデータベース操作が原因であると思われる場合は、これも変更してみてください。

mysql.connect_timeout = 1000 ; // this is not neccessary

これはすべてphp.iniファイルで変更する必要があり、Apacheサーバーを再起動して変更を確認する必要があります。

于 2012-11-16T07:03:25.000 に答える
7

変更が機能するはずです。ただし、「xampp」スタックを使用する php.ini 構成ファイルは少ない可能性があります。「apache」固有の php.ini があるかどうかを確認してください。1 つの潜在的な場所は次のとおりです。

C:\xampp\apache\bin\php.ini

于 2009-08-12T00:37:57.587 に答える
5

ini_set('max_execution_time', 0);または、という名前のファイルを作成php.iniし、最初の行を入力してmax_execution_time=0保存し、ファイルをアプリケーションのルート フォルダーに置きます。

それでおしまい。幸運を。

于 2011-07-11T12:24:02.607 に答える
5

php.iniWeb アプリケーション用に変更するには、Apache を再起動する必要があります。

関数を実行する PHP スクリプトを実行して、変更が行われたことを確認する必要がありますphpinfo()。その関数の出力は、タイムアウト値を含む多くの PHP パラメーターを示します。

php.iniApache が使用するファイルとは異なる のコピーを変更した可能性もあります。

于 2009-08-12T00:39:20.647 に答える
3

WAMPで私にとってうまくいったのは、ファイルを変更することでした:\ Wamp64\alias\phpmyadmin.conf、行:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

ライブラリファイルを変更する必要はありませんでした。

于 2018-10-20T17:46:28.433 に答える
2

php.ini では、mysql.connect_timeout もチェックする必要があります。これは、ソケットを閉じて Fatal を返す役割を果たします。たとえば、次のように変更します。

mysql.connect_timeout = 3600

その時間は常に秒単位でカウントされるため、私の例では 1 時間になります。

于 2016-11-09T08:00:23.270 に答える
2

時間無制限の「ZERO」。

C:\Apache24\htdocs\phpmyadmin\libraries\Config.class.php

/**
 * maximum execution time in seconds (0 for no limit)
 *
 * @global integer $cfg['ExecTimeLimit']
 */
$cfg['ExecTimeLimit'] = 0;

大きなファイルを MySQL からクエリまたは PHP クエリとしてインポートすることもできます。

この方法を使用して、500,000 行をローカル サーバーにインポートするのに 18 秒しかかかりませんでした。

(最初にテーブルを作成) - 次に:

LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
INTO TABLE Your_Table_Name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
于 2014-12-10T16:55:23.150 に答える
1

に行くxampp/php/php.ini

次の行を見つけます。

max_execution_time=30

その値を任意の数値に変更します。アパッチを再起動します。

于 2013-12-29T03:15:40.383 に答える