


register_shutdown_function AND fastcgi_finish_request,registershutdownhook_PHP教程
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";
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>
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>;
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","测试数据");
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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











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.

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.

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

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

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 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

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
