How to increase or decrease the maximum execution time of a php script

By default PHP script execution time is set for 30 seconds at php.ini file. This is the time limit set for all the files to finish its execution. If the file takes more than this set time then the execution of the script will be stopped and error message will be displayed like this.
Fatal error: Maximum execution time of 30 seconds exceeded in F:\php_files\t\test.php on line 14
This maximum execution time limit (in seconds ) is set inside the php.ini file like this.
max_execution_time = 30;  

Setting the execution time to maximum or unlimited

Add this line at top of your script.
set_time_limit (0);

What is my maximum or allowed script execution time?

Read the set value.
<?Php
echo ini_get('max_execution_time');
?>

How to change Maximum execution time ?

set_time_limit ( 47 );// set the value in seconds here
echo ini_get('max_execution_time'); // Check the set value 

Using php.ini

This value can be increased or decreased as per our requirement at php.ini file but note that in a server environment where many sites are hosted, any change in php.ini will affect all the sites hosted by the server. So this change is not possible unless you own the server and you are the only user. In a shared hosting our host may not like to change any settings of php.ini for our requirement. So there is a option to set the file execution time for the particular file at the individual file end. This adjustment of time limit has no effect if php is running in safe mode. Let us try to learn how this works.

We will use time stamp to find out the delay between starting and ending of a script execution. We will store the time stamp value at the starting of the script and then again we will record at the end of the script . The difference of these two values will give us idea how much time the script has taken to execute. Note that here between two values of time we will try to add some delay by using sleep() function. This sleep function takes numeric value in seconds and delay the execution for that many seconds. We can also create delay by using for loop but this is a better solution. Here is the code.
$t1=time();
sleep(20);
$t2=time();

$t_lapsed=$t2-$t1;
echo "Total time lapsed = $t_lapsed";
We have introduced a delay of 20 seconds and this will execute without any problem, now increase the sleep value to 50 seconds and on execution you will get the error message saying maximum execution time exceeded. This is because by default the maximum execution time set at php.ini is 30 seconds. Now let us change the above code by adding one line set_time_limit(60). Here is the code
set_time_limit ( 60 );
$t1=time();

sleep(50);

$t2=time();
$t_lapsed=$t2-$t1;
echo "Total time lapsed = $t_lapsed";
Now the script will execute fine without any error message. We can see the total time taken by the script.

File php.ini file for all PHP settings Checking if file exists before deleting
PHP
Subscribe to our YouTube Channel here


Subscribe

* indicates required
Subscribe to plus2net

    plus2net.com







    Akshata

    07-12-2018

    After doing all the changes in php.ini file still facing same issue(getting same error maximum execution time exceeded error). KIndly help me out.

    Post your comments , suggestion , error , requirements etc here





    PHP video Tutorials
    We use cookies to improve your browsing experience. . Learn more
    HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
    ©2000-2024 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer