このPHPエラーが発生し続けます:
致命的エラー:最大実行時間300秒を超えました
Php.ini(Apacheとcliの両方)でmax_execution_time
とmax_input_time
の設定をそれぞれ0
、-1
、4000
秒に設定しようとしました。
そして、私はまだ言っているエラーが表示されます:
致命的エラー:最大実行時間300秒を超えました
同様に、このメッセージが表示されるまでにスクリプトが300秒以上実行されます
コマンドラインからスクリプトを実行しています。
phpinfo()
も確認したので、使用しているphp.ini
を確認してください。
さらに興味深いのは、max_execution_time
とmax_input_time
の設定を5秒に設定してみたところ、スクリプトが5秒を超えて実行されてから次の結果が得られることです。
致命的エラー:最大実行時間300秒を超えました
スクリプトの最初に追加できます。
ini_set('MAX_EXECUTION_TIME', '-1');
WAMPを使用している場合:
max_execution_time
のphp.ini
を増やしてから
C:\wamp\apps\phpmyadmin3.4.10.1\libraries
(インストールに応じてパスを変更)
config.default.php
を開き、$cfg['ExecTimeLimit']
の値を0に変更します。
$cfg['ExecTimeLimit'] = 0;
これにより、PhpMyAdminインポートの問題が解決されます。
Xampp Users
xampp\phpMyAdmin\
に移動します$cfg['ExecTimeLimit'] = 300;
を検索$cfg['ExecTimeLimit'] = 0;
(またはより大きな値)の場合私は同様の状況に遭遇し、Codeigniter(私が使用していたPHPフレームワーク)が実際に独自の時間制限を設定することがわかりました:
System/core/Codeigniter.phpのバージョン2.1.3の106行目には、次が表示されます。
if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
{
@set_time_limit(300);
}
コアファイルの変更を回避する他の方法はなかったため、php.iniを介した構成を可能にし、CLIリクエストの無限の最大実行時間を与えるために、コアファイルを削除しました。
ただし、将来のCIバージョンのアップグレードの場合には、この変更をどこかに記録することをお勧めします。
スクリプトで次のようなものを試してください。
set_time_limit(1200);
これは正しい答えです:
に行きます
c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php
見つけて設定する
$cfg['ExecTimeLimit'] = 0;
すべてのサービスを再起動して完了します。
xampp/phpmyadmin/libraries/config.default.phpに移動します
そして、次の変更を行います
from $cfg['ExecTimeLimit'] = ’300′;
to $cfg['ExecTimeLimit'] = ’0′;
ローカルAppServの場合
C:\ AppServ\www\phpMyAdmin\libraries\config.default.phpに移動します
$cfg['ExecTimeLimit']
を見つけて、値を0に設定します。
のようになります
$cfg['ExecTimeLimit'] = 0;
PHPのCLIのデフォルトの実行時間は無限です。
これにより、パーサーによってスクリプトが終了するまでにスクリプトが実行できる最大時間を秒単位で設定します。これにより、適切に記述されていないスクリプトがサーバーを占有するのを防ぐことができます。デフォルト設定は30です。コマンドラインからPHPを実行する場合、デフォルト設定は0です。
http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time
セーフモードでPHPを実行しているかどうかを確認します。セーフモードでは、すべてのtime exec設定が無視されるためです。
Xamppユーザーの場合
1. Go to C:\xampp\phpMyAdmin\libraries
2. Open config.default.php
3. Search for $cfg['ExecTimeLimit'] = 300;
4. Change to the Value 300 to 0 or set a larger value
5. Save the file and restart the server
6. OR Set the ini_set('MAX_EXECUTION_TIME', '-1'); at the beginning of your script you can add.
Codeignitorバージョン3.0.xでは、system/core/Codeigniter.phpに挿入するだけでなく、時間制約も含まれていません。
ini_set('MAX_EXECUTION_TIME', -1);
codeignitorは独自の関数set_time_limit()でオーバーライドするため、機能しません。そのため、codeignitorからその関数を削除するか、単に挿入することができます。
set_time_limit('1000');
phpファイルの先頭で、1000秒に変更したい場合。必要なだけ実行する場合は、時間を0(ゼロ)に設定します。
上記の答えがうまくいかない場合は、コードをチェックしてみてください、私の経験では、無限ループがあるとその問題が発生します。
Xamppでは、php.iniでmysql.connect_timeoutを確認する必要があります。したがって、たとえば、次のように変更します。
mysql.connect_timeout = 3600
その時間は常に秒単位でカウントされます(私の例では1時間です)
Php.iniを編集するMAMPユーザーはこれを解決します-行があります:
max_execution_time = 30;各スクリプトの最大実行時間(秒単位)
これをより高い値に設定するとうまくいきました。
ファイルはphp/php5.6.25/conf/php.iniにあります(使用しているphpバージョンのファイルを濡らす必要があることは明らかです-これはMAMP設定から確認できます。
WAMPユーザー:
1)C:\ wamp\apps\phpmyadminに移動します
2)config.incを開きます
3)$ cfg ['ExecTimeLimit'] = ’3600′;を追加します。ファイルに。
4)ファイルを保存し、サーバーを再起動します。
このファイルはphp.iniを上書きします。
私の場合、Phpmyadminでそのエラーに直面したとき、 MySQL-Front を試し、DBを正常にインポートしました。
注:Phpmyadminで問題を解決するために、この質問の下で提供されているソリューションを引き続き使用できます。