When developing using PHP, sometimes you need to perform long-term operations, such as network requests, database queries, file operations, etc. In this case, PHP's default timeout may not be enough to complete these operations, causing the program to error. In order to solve this problem, we need to set the timeout waiting time of PHP.
PHP's timeout waiting time refers to the maximum waiting time when a PHP script is executed. If it exceeds this time, it will be forcibly terminated. By default, PHP's timeout wait time is 30 seconds, which can be adjusted by modifying the php.ini file.
First, we need to find the php.ini file. Under Linux systems, php.ini is usually located in the /etc/php/[version]/cli/ directory. Under Windows systems, php.ini is usually located in the PHP installation directory.
Open the php.ini file and find the following two parameters:
max_execution_time = 30 max_input_time = 60
Among them, max_execution_time represents the maximum execution time of the PHP script (in seconds), the default is 30 seconds; max_input_time represents PHP The maximum time (in seconds) for the script to receive input data such as POST, GET, FILE, etc., the default is 60 seconds.
We can modify the values of these two parameters to the values we need, for example:
max_execution_time = 60 max_input_time = 120
This will make the maximum execution time of the PHP script 60 seconds and the maximum input time 120 seconds.
In addition to modifying the php.ini file, we can also set the timeout waiting time in PHP code. In PHP, we can use the set_time_limit function to set the maximum execution time of the script.
For example, the following code will set the maximum execution time of a PHP script to 60 seconds:
set_time_limit(60);
If we want to modify the max_input_time parameter in the code, we can use the ini_set function.
For example, the following code will set the maximum time for the PHP script to receive input to 120 seconds:
ini_set('max_input_time', 120);
It should be noted that these settings only take effect in the current script. After leaving the current script, The timeout will revert to the value configured in the php.ini file.
PHP also provides a function ignore_user_abort, which allows the PHP script to continue executing after the client disconnects. This function is very useful when working with long-running scripts.
For example, the following code will set the PHP script to ignore the client disconnect and continue execution:
ignore_user_abort(true);
It should be noted that after setting the ignore_user_abort function, if the client disconnects , the PHP script will continue executing but will be unable to output anything to the client.
Summary
In PHP development, the timeout waiting time is a very important issue and needs to be set according to the specific situation. We can adjust PHP's timeout waiting time by modifying the php.ini file, setting the timeout waiting time in the code, using the ignore_user_abort function, etc. to handle long-running scripts.
The above is the detailed content of How to set timeout waiting time in php. For more information, please follow other related articles on the PHP Chinese website!