问题
I keep getting this PHP error:
Fatal error: Maximum execution time of 300 seconds exceeded
I have tried setting my max_execution_time
and my max_input_time
settings in php.ini (both apache and cli) to 0
, -1
and 4000
seconds each.
And i still get the error saying:
Fatal error: Maximum execution time of 300 seconds exceeded
As well my script runs over 300 seconds before i get this message
I am running the script through command line.
I also checked my phpinfo()
so see which php.ini
I am using.
Even more interesting I have tried setting max_execution_time
and max_input_time
settings to 5 second and my script will run way beyond 5 seconds before I get the:
Fatal error: Maximum execution time of 300 seconds exceeded
回答1:
At the beginning of your script you can add.
ini_set('MAX_EXECUTION_TIME', '-1');
回答2:
If you are using WAMP Go to :
Increase the max_execution_time
in php.ini
then go to
C:\wamp\apps\phpmyadmin3.4.10.1\libraries
(change path according to your installation)
open config.default.php
and change value for $cfg['ExecTimeLimit']
to 0:
$cfg['ExecTimeLimit'] = 0;
This will resolve the issue for PhpMyAdmin imports.
回答3:
Xampp Users
- Go to
xampp\phpMyAdmin\
- Open config.inc.php
- Search for
$cfg['ExecTimeLimit'] = 300;
- Change to 0 for unlimited or set a larger value
- If not found add
$cfg['ExecTimeLimit'] = 0;
(or a larger value) - Save the file and restart the server
回答4:
I encountered a similar situation, and it turns out that Codeigniter (the PHP framework I was using) actually sets its own time limit:
In system/core/Codeigniter.php, line 106 in version 2.1.3 the following appears:
if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
{
@set_time_limit(300);
}
As there was no other way to avoid changing the core file, I removed it so as to allow configuration through php.ini, as well as give the infinite maximum execution time for a CLI request.
I recommend recording this change somewhere in the case of future CI version upgrades however.
回答5:
Try something like the following in your script:
set_time_limit(1200);
回答6:
This is the the right answer:
go to
c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php
find and set
$cfg['ExecTimeLimit'] = 0;
restart all services and done.
回答7:
go to the xampp/phpmyadmin/libraries/config.default.php
and make the following changes
from $cfg['ExecTimeLimit'] = ’300′;
to $cfg['ExecTimeLimit'] = ’0′;
回答8:
PHP's CLI's default execution time is infinite.
This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.
http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time
Check if you're running PHP in safe mode, because it ignores all time exec settings when on that.
回答9:
For Local AppServ
Go to C:\AppServ\www\phpMyAdmin\libraries\config.default.php
Find $cfg['ExecTimeLimit']
and set value to 0.
So it'll look like
$cfg['ExecTimeLimit'] = 0;
回答10:
For Xampp Users
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.
回答11:
WAMP USERS:
1) Go to C:\wamp\apps\phpmyadmin
2) Open config.inc
3) Add $cfg['ExecTimeLimit'] = ’3600′; to the file.
4) Save the file and restart the server.
This file overwrites the php.ini and will work for you!
回答12:
In my case, when I faced that error in Phpmyadmin, I tried MySQL-Front and import my DB successfully.
Note: You can still use the provided solutions under this question to solve your problem in Phpmyadmin.
回答13:
If above answers will not work, try to check your code,,In my experience,having an infinite loop will also cause that problem.Check your else if statement.
回答14:
In Codeignitor version 3.0.x the system/core/Codeigniter.php do not contain the time constraint as well as inserting
ini_set('MAX_EXECUTION_TIME', -1);
will not work since codeignitor will override that with its own function set_time_limit() . So either you have to delete that function from codeignitor or simply you can insert
set_time_limit('1000');
in the beginning of the php file if you wanna change that to 1000 seconds. Set the time to 0 (zero) if you want to run it as long as it want.
回答15:
On Xampp, in php.ini you must check mysql.connect_timeout either. So, for example, change it to:
mysql.connect_timeout = 3600
That time will be always counted in seconds (so 1 hour in my example)
回答16:
MAMP USERS editing php.ini solves this - there is a line:
max_execution_time = 30 ; Maximum execution time of each script, in seconds
setting this to a higher value worked.
the file is in php/php5.6.25/conf/php.ini (obviousl you need to wet the file for the php version you are using - you can find this out from the MAMP preferences.
回答17:
If you are on xampp and using phpMyadmin to import large sql files and you have increased max_execution time, max file upload limit and everything needed And If none of the above answers work for you come here
Go to your xampp folder, in my case here is the relative path to the file that I need to modify: C:\xampp\phpMyAdmin\libraries\config.default.php
/**
* maximum execution time in seconds (0 for no limit)
*
* @global integer $cfg['ExecTimeLimit']
* by defautlt 300 is the value
* change it to 0 for unlimited
* time is seconds
* Line 709 for me
*/
$cfg['ExecTimeLimit'] = 0;
回答18:
You can set time limit:
ini_set('max_execution_time', 1000000000000000);
来源:https://stackoverflow.com/questions/7680572/fatal-error-maximum-execution-time-of-300-seconds-exceeded