Home >Backend Development >PHP Problem >How to set timeout waiting time in php

How to set timeout waiting time in php

PHPz
PHPzOriginal
2023-03-29 11:34:413538browse

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.

  1. Modify 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.

  1. Set timeout in code

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.

  1. Use the ignore_user_abort function

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn