Table of Contents
register_shutdown_function AND fastcgi_finish_request, registershutdownhook
register_shutdown_function
fastcgi_finish_request
Home Backend Development PHP Tutorial register_shutdown_function AND fastcgi_finish_request,registershutdownhook_PHP教程

register_shutdown_function AND fastcgi_finish_request,registershutdownhook_PHP教程

Jul 12, 2016 am 08:59 AM
and fastcgi function request shutdown

register_shutdown_function AND fastcgi_finish_request, registershutdownhook

In php, the two methods are executed when the request is about to end. The method names are register_shutdown_function and fastcgi_finish_request respectively. Although the timing of execution is similar, the functions and application scenarios are different. Comparing the differences between the two methods is not the focus of this article. The focus of this article is to explain the application scenarios of the two methods.

register_shutdown_function

Function:

Register a method. When a request request is executed, the registered method is called. Note that even if an error occurs during execution and this request is forced to exit, the registered method will still be executed.

Application scenario one:

You can use its features to capture some detailed information of some errors. The sample code is as follows:

<span>function</span><span> catch_error(){
</span><span>$error</span> =<span> error_get_last();
</span><span>if</span>(<span>$error</span><span>){
</span><span>var_dump</span>(<span>$error</span><span>);
}
}
</span><span>register_shutdown_function</span>("catch_error"<span>);
</span><span>ini_set</span>('memory_limit','1M'<span>);
</span><span>$content</span> = <span>str_repeat</span>("aaaaaaaaaaaaaaaaaaaaaaa",100000<span>);
</span><span>echo</span> "aa";
Copy after login

The output information is roughly as follows:

<p>array(4) { ["type"]=> int(1) ["message"]=> string(80) "Allowed memory size of 1048576 bytes exhausted (tried to allocate 2300001 bytes)" ["file"]=> string(39) "/test.php" ["line"]=> int(13) }</p>
Copy after login

It can be seen that the above code captures the out of memory error normally.

Application Scenario 2
Check whether the request is closed normally. The sample code is as follows:

<span>function</span><span> monitor(){
</span><span>global</span> <span>$is_end</span><span>;
</span><span>if</span>(<span>$is_end</span> == <span>true</span><span>){
</span><span>echo</span> "success"<span>;
}</span><span>else</span><span>{
</span><span>echo</span> "fail"<span>;
}
}
</span><span>register_shutdown_function</span>("monitor"<span>);
</span><span>$is_end</span> = <span>false</span><span>;
</span><span>die</span><span>();
</span><span>$is_end</span> = <span>true</span>;
Copy after login

The output result of the page is: fail

It can be seen that even if the die function is called. The registered monitor function also executes normally.

fastcgi_finish_request

Function:
flush data to the client. After calling this method, any output content will not be output to the client.

Application scenarios:

If part of the processing content of a request does not need to be sent to the client, you can first generate the content output to the client, and then call this method. After the method is called, the content will be output to the client. Content that does not need to be output to the client can be placed after this method. This improves responsiveness. The sample code is as follows:

<span>echo</span> "a"<span>;
fastcgi_finish_request();
</span><span>echo</span> "b"<span>;
</span><span>file_put_contents</span>("/tmp/test","abc.com"<span>);
</span><span>die</span><span>();
</span><span>file_put_contents</span>("/tmp/test2","测试数据");
Copy after login

The page output result is: a
It can be seen that the echo "b" after the fastcgi_finish_request method is not output to the client. But you will find that files are created normally in the /tmp/test directory. But the /tmp/bo56 file was not created

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1097792.htmlTechArticleregister_shutdown_function AND fastcgi_finish_request, registershutdownhook In php, the two methods are executed when the request is about to end. The method names are register_shutdown_...
Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1253
24
Can the linux shutdown command shut down immediately? Can the linux shutdown command shut down immediately? Jan 28, 2023 pm 05:26 PM

The Linux shutdown command shutdown can shut down the computer immediately. The root user only needs to execute the "shutdown -h now" command. The shutdown command can be used to perform the shutdown process and send messages to all programs being executed by users before shutting down. The shutdown command requires the system administrator root user to use it.

What does function mean? What does function mean? Aug 04, 2023 am 10:33 AM

Function means function. It is a reusable code block with specific functions. It is one of the basic components of a program. It can accept input parameters, perform specific operations, and return results. Its purpose is to encapsulate a reusable block of code. code to improve code reusability and maintainability.

What does php request mean? What does php request mean? Jul 07, 2021 pm 01:49 PM

The Chinese meaning of request is "request". It is a global variable in PHP and is an array containing "$_POST", "$_GET" and "$_COOKIE". The "$_REQUEST" variable can obtain data and COOKIE information submitted by POST or GET.

MySQL shutdown unexpectedly - How to solve MySQL error: MySQL shut down unexpectedly MySQL shutdown unexpectedly - How to solve MySQL error: MySQL shut down unexpectedly Oct 05, 2023 pm 02:42 PM

MySQL is a commonly used relational database management system that is widely used in various websites and applications. However, you may encounter various problems while using MySQL, one of which is MySQL closing unexpectedly. In this article, we will discuss how to solve MySQL error problems and provide some specific code examples. When MySQL shuts down unexpectedly, we should first check the MySQL error log to understand the reason for the shutdown. Usually, the MySQL error log is located in the MySQL installation directory.

3 Ways to Set Up Automatic Shutdown in Windows 10/11 3 Ways to Set Up Automatic Shutdown in Windows 10/11 May 01, 2023 pm 10:40 PM

In a busy world, we want to automate things that you want to trigger on a regular basis or in a timely manner. Automation helps control tasks and reduces your effort in performing them. One of these tasks may be to shut down your computer. You may want your computer to shut down regularly, or you may want it to shut down at a specific time of day, or on specific days of the week, or you may want it to shut down all at once. Let's see how to set a timer so that the system shuts down automatically. Method 1: Use the Run dialog box Step 1: Press Win+R, type shutdown-s-t600 and click OK. Note: In the above command, 600 represents the time in seconds. You can change it as needed. It should always be in seconds, not minutes or hours

How to set the scheduled shutdown command in Linux How to set the scheduled shutdown command in Linux Feb 18, 2024 pm 11:55 PM

What is the Linux scheduled shutdown command? When using a Linux system, we often need to schedule a shutdown, such as automatically shutting down after downloading a large number of files, or automatically shutting down the server when it is no longer in use. In Linux systems, scheduled shutdown can be implemented using the "shutdown" command. The "shutdown" command allows the user to shut down or restart the system and set a delay time. By adding parameters to the command, you can implement the scheduled shutdown function. The basic format of the command is as follows: shutdown

How to use the urllib.request.urlopen() function to send a GET request in Python 3.x How to use the urllib.request.urlopen() function to send a GET request in Python 3.x Jul 30, 2023 am 11:28 AM

How to use the urllib.request.urlopen() function in Python3.x to send a GET request. In network programming, we often need to obtain data from a remote server by sending an HTTP request. In Python, we can use the urllib.request.urlopen() function in the urllib module to send an HTTP request and get the response returned by the server. This article will introduce how to use

How to configure and optimize FastCGI in Nginx How to configure and optimize FastCGI in Nginx May 21, 2023 am 08:16 AM

fastcgi: fastcgi is developed and improved from cgi. The main disadvantage of the traditional cgi interface method is poor performance, because every time the http server encounters a dynamic program, the script parser needs to be restarted to perform parsing, and then the results are returned to the http server. This is almost unavailable when dealing with high concurrent access. In addition, the traditional cgi interface method has poor security and is rarely used now. The fastcgi interface mode adopts the c/s structure, which can separate the http server and the script parsing server, and start one or more script parsing daemons on the script parsing server. Every time the http server encounters a dynamic program, it can be delivered directly to fastcg

See all articles