Home >Backend Development >PHP Tutorial >How to intercept standard output using ob_start and other functions in PHP_PHP Tutorial
This article mainly introduces the relevant information about the method of intercepting standard output by ob_start and other functions in php. Friends in need can refer to it Next
Recently I was using PHP to develop a software under cli and encountered such a problem. I wanted to collect the output from the PHP script, so I used the two functions ob_start and ob_end_flush, which did collect the output, but also printed them to the console interface. What I want to ask is if there is a way to prevent PHP from outputting information to the console. In principle, this software does not allow printing anything to the console.
php-cli itself executes the script independently of the web server. I don’t know how you got the data you are getting now? If you don’t get it through the value returned by cli executing the php program, then you can use ob_get_clean()
He will clear the cache area after obtaining the cached content, so as to achieve the effect you mentioned of not displaying the display interface
Of course, you can also get the buffer content, clear it (control not to output it to the console), and then flash the content to the web server for processing
It’s done according to the above method. I have used this series of functions before, but I haven’t used them for so long that I forgot about them.
What we are working on now is a multi-process HTTP dynamic server based on PHP. A graduation thesis is just a test product and has no practicality.
The execution result of the php-cgi program is standard input and output, so the output result can only be intercepted by getting the standard input and output. Pipes should also be able to do it, but I don’t know how to do it
The above is the entire content of this article, I hope you all like it.