When I try to execute (some) queries in phpMyadmin I get this error
Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php on line 140
because I have a very large table (over 9 millions records)
I have edited the file C:\xampp\php\php.ini
and changed the value of "max execution time" from 60 to 1000 then restarts the PHP and still have the same error.
Any solution?
I have the same error, please go to
xampp\phpMyAdmin\libraries\config.default.php
Look for : $cfg['ExecTimeLimit'] = 600;
You can change '600' to any higher value, like '6000'.
Maximum execution time in seconds is (0 for no limit).
This will fix your error.
For Xampp version on Windows
Add this line to xampp\phpmyadmin\config.inc.php
$cfg['ExecTimeLimit'] = 6000;
And Change xampp\php\php.ini to
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
And change xampp\mysql\bin\my.ini
max_allowed_packet = 200M
$cfg['ExecTimeLimit'] = 6000;
seems to have zero effect on my installation. I'd rather set it locally than in php.ini which applies to the whole server, but maybe that's the only option.
I faced the same problem while executing a curl. I got it right when I changed the following in the php.ini
file:
max_execution_time = 1000 ;
and also
max_input_time = 1000 ;
Probably your problem should be solved by making above two changes and restarting the apache server.
Even after changing the above the problem persists and if you think it's because of some database operation using mysql you can try changing this also:
mysql.connect_timeout = 1000 ; // this is not neccessary
All this should be changed in php.ini file and apache server should be restarted to see the changes.
Your change should work. However, there are potentially few php.ini configuration files with the 'xampp' stack. Try to identify whether or not there's an 'apache' specific php.ini. One potential location is:
C:\xampp\apache\bin\php.ini
C:\xampp\php\php.ini
and goto line number 442 (approximately - some time that line number will be change after the manual edit) max_execution_time = 1000
but this is not work for me. Then i'll try this on C:\xampp\phpMyAdmin\config.inc.php $cfg['Servers'][$i]['bs_temp_blob_timeout'] = 1200;
Changing php.ini
for a web application requires restarting Apache.
You should verify that the change took place by running a PHP script that executes the function phpinfo()
. The output of that function will tell you a lot of PHP parameters, including the timeout value.
You might also have changed a copy of php.ini
that is not the same file used by Apache.
ini_set('max_execution_time', 0);
or create file name called php.ini
and enter the first line max_execution_time=0
then save it and put the file in your root folder of your application.
That's it. Good luck.
set_time_limit()
function. No need to (ab)use ini_set()
.
What worked for me on WAMP was modifying file: \Wamp64\alias\phpmyadmin.conf, lines:
php_admin_value max_execution_time 600
php_admin_value max_input_time 600
I did not have to change the library file.
Well for Wamp User,
Go to: wamp\apps\phpmyadmin3.3.9\libraries
Under line 536, locate $cfg['ExecTimeLimit'] = 0;
and change the value from 0 to 6000. e.g
$cfg['ExecTimeLimit'] = 0;
To
$cfg['ExecTimeLimit'] = 6000;
Restart wamp server and phew.
It works like magic !
0
means no execution time limit
'ZERO' for unlimited time.
C:\Apache24\htdocs\phpmyadmin\libraries\Config.class.php
/**
* maximum execution time in seconds (0 for no limit)
*
* @global integer $cfg['ExecTimeLimit']
*/
$cfg['ExecTimeLimit'] = 0;
You could also import the large file right from MySQL as query or a PHP query.
500,000 rows just took me 18 seconds to import on local server, using this method.
(create table first) - then:
LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv'
INTO TABLE Your_Table_Name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
In php.ini you must check mysql.connect_timeout either. That's responsible for socket closing and returning the Fatal. So, for example, change it to:
mysql.connect_timeout = 3600
That time will be always counted in seconds, so in my example you have 1 hour.
Probabily you are using XMAPP as service, to restart XMAPP properly, you have to open XMAPP control panel un-check both "Svc" mdodules against Apache and MySQL. Then click on exit, now restart XMAPP and you are done.
Go to xampp/php/php.ini
Find this line:
max_execution_time=30
And change its value to any number you want. Restart Apache.
Success story sharing
config.inc.php
did not do the job for me. Modifying theconfig.default.php
helped and worked.wamp64\apps\phpmyadmin4.6.4\libraries\config.default.php
OR you can find path of your phpmyadmin directory by clickingwamp tray icon > Apache > Alias Directories
and edit phpmyadmin. Also as mentioned by dsnunez, it's better to editconfig.inc.php
--edit-- editingconfig.inc.php
didn't work for me