phpMyadminの最大実行時間


108

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

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

テーブルが非常に大きい(900万レコードを超える)ため

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

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

解決策はありますか?


1
サーバーを再起動する必要があります。configまたはiniファイルを変更した後。
4302836

回答:


194

同じエラーがあります。

xampp \ phpMyAdmin \ libraries \ config.default.php

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

「600」を「6000」などのより高い値に変更できます。

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

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


1
コードの書式設定を使用して、コードとそうでないものを明確にすることができます:)
スパン

24
このファイルを編集してはならないことは(ファイルのヘッダーで)かなり明確です。それは他の回答で述べているよう代わりに、あなたは、この行を追加し、config.inc.phpファイルを編集する必要があります
dsnunez

1
以下の私の答えを確認してください。それが行く方法です;)
M_R_K

3
これをに追加しても、config.inc.php私には効果がありませんでした。config.default.php助けて働いた修正。
スプリアス

wampのパスはwamp64\apps\phpmyadmin4.6.4\libraries\config.default.phpORです。または、phpmyadminをクリックwamp tray icon > Apache > Alias Directoriesして編集することにより、phpmyadminディレクトリのパスを見つけることができます。また、dsnunezによって言及されているように、編集config.inc.php--edit-- の方がconfig.inc.php私にとっては
うまくいき

107

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

1
非常に小さなデータセット(約12万行)を除いて、まったく同じ問題が発生しています。
Robは

テーブルで[参照]を押すと、xampp for Windowsのスクリプトタイムアウトが即座に得られました〜130mb
Matthew Lock

悲しいこと$cfg['ExecTimeLimit'] = 6000;に、私のインストールには影響がないようです。サーバー全体に適用されるphp.iniではなくローカルに設定したいのですが、おそらくそれが唯一のオプションです。
Simon East

1
すべてが何をしているのか
わかり

13

カールの実行中に同じ問題に直面しました。php.iniファイルで次のように変更したところ、問題は解決しました。

max_execution_time = 1000 ;

そしてまた

max_input_time = 1000 ;

おそらく、上記の2つの変更を行い、Apacheサーバーを再起動することによって、問題を解決する必要があります。

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

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

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


7

変更が機能するはずです。ただし、「xampp」スタックを持つphp.ini構成ファイルはほとんどありません。「Apache」固有のphp.iniがあるかどうかを確認してください。考えられる場所の1つは次のとおりです。

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


1
私のxamppでそのファイルを入力しC:\xampp\php\php.iniて行番号442に移動します(およそ-手動編集後にその行番号が変更されることがあります)max_execution_time = 1000 が、これは私にとっては機能しません。次に、C:\ xampp \ phpMyAdmin \ config.inc.phpでこれを試します$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 1200;
Elshan

5

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

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

またphp.ini、Apacheで使用されているファイルとは異なるファイルのコピーを変更した可能性もあります。


5

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

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


3
set_time_limit()機能があります。(ab)使用する必要はありませんini_set()
ThiefMaster 2011

3

Wampユーザーにとっては、

移動: wamp\apps\phpmyadmin3.3.9\libraries

536行目 locate $cfg['ExecTimeLimit'] = 0;

値を0から6000に変更します。例:

$cfg['ExecTimeLimit'] = 0;

$cfg['ExecTimeLimit'] = 6000;

wampサーバーとphewを再起動します。

魔法のように動作します。


これは実際には間違っています。逆に言えば、0実行時間制限がないことを意味します
user919426

2

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

mysql.connect_timeout = 3600

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


2

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

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

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


1

XMAPPをサービスとして使用している可能性があります。XMAPPを適切に再起動するには、XMAPPコントロールパネルを開き、ApacheとMySQLに対して両方の「Svc」mdodulesのチェックを外す必要があります。次に、[exit]をクリックして、XMAPPを再起動すると完了です。



1

無制限の「ゼロ」。

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' 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.