Data report php p. Entry and exit options

The error_reporting directive in the php.ini configuration file is responsible for the level of error handling in PHP. This parameter determines the types of errors that PHP informs about by displaying a text message in the browser window.

Possible directive values

Error levelConstantError Description
1 E_ERRORCommon function errors (critical errors)
2 E_WARNINGGeneral warnings (non-critical errors)
4 E_PARSEParser Errors
8 E_NOTICERemarks (anomalies in the code, possible sources of errors - should be disabled if there is Russian text in the code, since correct operation is not ensured for international encodings).
16 E_CORE_ERRORHandler errors
32 E_CORE_WARNINGHandler Warnings
64 E_COMPILE_ERRORCompiler errors
128 E_COMPILE_WARNINGCompiler Warnings
256 E_USER_ERRORUser errors
512 E_USER_WARNINGUser warnings
1024 E_USER_NOTICEUser notifications
E_ALLAll mistakes

The above values ​​(numeric or character) are used to construct the , which specifies the error message to display. You can use bit operations to mask certain types of errors. Note that only ‘|’, ‘~’, ‘!’ and ‘\&’ will be understood in php.ini and that no bit operations will be understood in php3.ini.

In PHP 4, the default value for error_reporting will be E_ALL & ~E_NOTICE , which means to display all errors and warnings that do not have an E_NOTICE-level. In PHP 3 the default value is E_ERROR | E_WARNING | E_PARSE means the same.

Note, however, that since constants are not supported in PHP 3 in the php3.ini file, setting error_reporting must be done in numbers; i.e. 7 by default.

Configuration using php.ini

The error_reporting option allows multiple levels to be set using bitwise flags. For example, level:

error_reporting = E_ALL & ~E_NOTICE

allows you to display all errors, except for remarks.

And in order to show only errors (excluding warnings and remarks), the directive must be configured as shown below:

Error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

Setting up with .htaccess


php_flag display_errors On
php_value error_reporting E_ALL

Configuration with PHP

We turn on the output of errors in the browser window and set the desired level.



Ergaki-2003 Campaign Report

MOU DO Tourist and local history club "Ermak"

Report on a mountain hike 1 k.s. in the region of the Ergaki ridge (Western Sayan),
committed from 06/20/2003 to 07/03/2003.

Hike leader: Shishkin S.V.

ICC of the Republic of Khakassia MU "Center for Children and Youth Tourism"



The original report is located at http://tkk-ermak.by.ru/ergaki20030.htm

Background information about the trip

1. Host organization:
Municipal educational institution of additional education Tourist and local history club "Ermak" of the administration of the Ermakovsky district.

3. Location of the hike
Krasnoyarsk Territory, Ermakovskiy District, Ergaki Ridge.

4. Route thread:
Highway M-54 (Krasnoyarsk - State border, Tormozakovsky bridge, 614 km) - r. Malaya Buiba - lake. Raduzhnoye - (pleasant exit of Lake Raduzhnoye - a waterfall in the north-west of Raduzhnoye, Raduzhnoye - Hanging Stone) - lane. Intermediate (Legs) (n / k) - lane. Khudozhnikov-2 (1A) - Parking place Dream - (pleasant exit. Dream - vdp. Mountain Spirits - Lake Mountain Spirits - Tolsty Brother Peak (1A) - pass. Taigish-1 (1A) - lake Lazurnoye - pass. Auxiliary ( n / a) - parking lot Skazka - (rad. exit st. Skazka - pass. Auxiliary (n / k) - Kamenny Zamok) - (rad. exit. st. Skazka - Mount Perevalnaya (1A) - a pass separating the valleys of Glubokoe lakes and Severnoye (n/k) - Severnoye lake - Bogatyr - VD Gratsiya - Spasateley lane (1A) - NCT lane (1A) - Chernoe lake - Taigishonok river - Left Taigish river - Arrow - Crosses - Pryamoye Taigish river - Bolshoye Buibinskoe lake - Bezrybnoe lake - Zeleny pass (1A) - Zolotarnoe lake - Vidovka - Svetloe lake - Medvezhye lake - Medvezhiy river - Jerboa river - M-54 highway (Krasnoyarsk - State border, 622 km.)

5. Determining obstacles of the route:
Total obstacles: 11
Passes - 8 (Intermediate (Legs) (n / c), Artists-2 (1A), Taigish-1 (1A), Auxiliary (n / c), Rescuers (1A), Tubing (1A), Green (1A), Marble (1A ))
Peaks: - 3 (Peak Tolstoy Brat (n/k), Mount Perevalnaya (1A), shoulder of Ptitsa Peak (1A))

6. Information about participants:

p/p FULL NAME. Year of birth Place of work, study Address, phone Tourist experience Duty to travel
1 Shishkin Sergey Vasilievich 1971 TCC "Ermak, PDO With. Ermakovskoe, st. K. Marx, 129-2 v. 2-44-09 Head 1 x Supervisor
2 Blinov Yuri Evgenievich 1966 TKK "Ermak", PDO Oisky settlement, tel. 31-3-56 Head 1 x Deputy hands
3 Lykhin Evgeny Anatolievich 1971 PU - 75, Kazantsevo village With. Kazantsevo, t. 2-88-70 Head 1 x Navigator
4 Kostenko Oleg Anatolievich 1987 ESH student 1 With. Ermakovskoe st. Red Partizans, 63 n/a pom. caretaker
5 Filatov Ruslan Valerievich 1987 ESH student ¦1 With. Ermakovskoe st. Youth, 2-B n/a timekeeper
6 Tselukovsky Dmitry Sergeevich 1987 ESH student ¦1 With. Ermakovskoe n/a No
7 Kuzmin Andrey Sergeevich 1987 ESH student ¦1 With. Ermakovskoe st. Youth, 19 n/a Photographer
8 Werfel Yana Evgenievna 1987 ESH student ¦1 With. Ermakovskoe, st. Lepeshinsky, 2-1 Member 1 x manager
9 Lanshakova Oksana Andreevna 1987 ESH student ¦1 With. Ermakovskoe st. Lenina, 81-4 n/a Chronicler
10 Mishina Yulia Nikolaevna 1987 ESH student ¦1 s. Ermakovskoe, st. Krupskaya, 12-1 n/a Medic
11 Khanzhina Maria Alexandrovna 1987 Student of the Oisk secondary school n/a No
12 Goncharov Ivan Sergeevich 1987 Student of the Oisk secondary school Oisky, Ermakovsky district n/a No
13 Popov Denis Alekseevich 1987 Student of the Oisk secondary school Oisky, Ermakovsky district n/a No
14 Anokhina Ludmila Viktorovna 1984 With. Kuragino. pvd No
15 Makhold Svetlana Viktorovna 1984 Student of Kazantsev PU-75 With. Kuragino. pvd No
16 Makhold Oksana Viktorovna 1985 Student of Kazantsev PU-75 With. Kuragino. pvd No
17 Nesterova Ludmila Viktorovna 1984 Student of Kazantsev PU-75 With. Kuragino. pvd No

7.
A copy of the report, photographic materials, a video about the campaign are stored at:
662820, Krasnoyarsk Territory, Ermakovskiy district, s. Ermakovskoe, st. K. Marx, 129-2.
Shishkin Sergey Vasilievich.
Tel. (391-38) 2-44-09
Email: [email protected]

Information about the travel area

The travel area is described in detail on the websites:

www.ergaki.krasu.ru - this site also has two types of maps of the area, which can be used to track the thread of our route.

Entry and exit options

The Ergaki ridge is quite close to the M-54 highway (Krasnoyarsk-Kyzyl-State border). The most commonly used entry and exit options are the Tormozakovsky Bridge and the bridge over the Tushkanchik River. In the first case, the trail from the Tormozakovsky bridge leads to the lake. Rainbow, in the second - on the lake. Svetloe (or Bear Creek). The same trails are used for emergency exit from the routes, as the shortest and easiest. Three Kyzyl-Abakan buses run daily along the road, and the Ermakovskoye-Usinsk bus runs twice a week. In summer, taxis often go to (from) the Abakan railway station. The distance to the nearest settlements - to Aradan - 40 km, to Tanzybey - 70 km. On the Tormozakovsky bridge and at the mouth of the river. Jerboa has tourist houses (paid), parking lots, baths. On the Tormozakovsky bridge there is a telephone with long-distance communication, in the house of the TKK "Ermak" on Tushkanchik there is a walkie-talkie with a direct connection with the Ministry of Emergency Situations.

Route changes and their reasons.

The itinerary was completed in full. Two planned days were used "for their intended purpose" - during a lingering rain.

Group movement schedule

Travel days date Section of the path Length (km) Running time (hour-min) Defining Obstacles weather conditions
1 20.06.03 Tormozakovsky bridge (614 km of the M-54 highway) - lake. Rainbow 6 2-45 No Rain, fog, cold
2 21.06.03 Radial exits to the waterfall and Hanging Stone 2 2-37 No Cloudy, no rain
3 22.06.03 Oz. Rainbow - Parking Dream 7 7-23 per. intermediate (n / c), lane. Artists-2 (1A) Sunny, hot
4 23.06.03 Radial exit - waterfall of Mountain Spirits - lake of Mountain Spirits - Tolstoy Brother peak 2 4-40 Fat Brother Peak (1A) First half of the day - sunny, second - windy, cloudy, then rain
5 24.06.03 Bad weather day - - No Heavy rain, cold, windy
6 25.06.03 Parking Dream - Azure Lake 4 5-10 per. Taigish-1 (1A) In the morning - rain, then - overcast, windy, no rain, in the evening - sunny
7 26.06.03 Lake Azure - Skazka camp 8 3-44 per. Auxiliary (n / a) Sunny, warm, late at night - strong hail with wind
8 27.06.03 Radial exit to the Stone Castle 3 3-03 per. Auxiliary (n / a) at the beginning of the day rain, then sunny, then cloudy, throwing a rare rain.
9 28.06.03 Radial hike to Bogatyr and Gratsiya waterfalls 15 9-13 Mount Perevalnaya (1A), Spasateley Pass (1A) windy, cloudy, warm, no rain
10 29.06.03 Parking Tale - Arrow 8 4-23 pass tubing (1A) sunny
11 30.06.03 Strelka - Lake Bezrybnoe 25 7-35 No sunny, hot
12 1.07.03 Lake Bezrybnoe - Bear Stream 15 5-55 Green pass (1А) sunny, hot
13 2.07.03 Bad weather day - - No Rain, thunder
14 3.07.03 Bear Creek - r. Jerboa - highway M-54 (622 km). 8 2-31 No overcast, occasional rain, sunny in the afternoon

additional information

Our group acted as a "tourist patrol", whose task was to clean the parking lots and trails from household debris along the path of the group, explain to everyone who would meet us on the way the basics of correct "ecological" behavior in nature, marking the main routes . Therefore, along with the main activity of climbing the route, we cleaned and sawed trails, removed garbage, equipped tourist camps (arranged stationary fires, set tables, sheds, dug garbage pits, etc.).

The motto of the Tourist Patrol:

Only people can clean up after animals and livestock!

Travel diary.

instead of a prologue.

Here passes smell of socks -
(our, folk)

We decided to write this diary in a more or less "free" style. We hope that all the technical information necessary for coverage in the diary will not fall into the shadow of some "lyrical-free" digressions. Text highlighted in this color- these are inserts from the diary of our chronicler Oksana Lanshakova. I (S.V. - Sergey Shishkin) wrote the UNDESIGNED text based on my recollections and recollections, inspired by reading the chronicler's diary and watching a video about our campaign. Moreover, these two authors will continue to interrupt each other and even duplicate each other, describing the same events in different ways.

P.S.
And the numbers on the cans have a slightly different meaning.

Gallery of some actors

Instructors

Other blacks and mestizos

mouse
(Mishina Julia)

Oksa
(Lanshakova Oksana)
Yanka supply manager
(Werfel Yana)
Dronych
(Kuzmin Andrey)
Russia
(Filatov Ruslan)

Dimych
(Tselukovsky Dmitry)

Oleg
(Kostenko Oleg)
Masha
(Khanzhina Maria)
Lyuska-1
(Anokhina Ludmila)
Lyuska-2
(Nesterova Ludmila)

1 day

20062003 - number on the can.
Arrival (or departure)

"That's where the Snark is found!" - said Balabon.
Pointing to the top of the mountain;
And he pulled the sailors ashore,
Pulled them up by the whirlwinds
.
(Lewis Carroll, "The Hunting of the Snark")

July 20, 2003 a group of tourists, consisting of 3 instructors S.V.(Sergei Vasilievich), Uncle Zhenya(Evgeny Anatolyevich), uncle Yura(Yuri Evgenievich) and only beginner miners:

Svetlana and Oksana Mahold- namesakes from with. Kazantsevo
Luda and Luda (Lyuska)- namesakes (also from there)
Ivan and Dan- avid gamblers and just nice people from the village of Oisky
Masha- Little Red Riding Hood (from there)
manager- Yanka (Werfel, Ermakovskoye village)
Repairman - Dron (Dronych)(Andrey Kuzmin, Ermakovskoye village)
Oleg and Dimych- inseparable friends (Kostenko and Tselukovsky, Ermakovskoye village)
Timekeeper (Rusya)- Ruslan Filatov (village Ermakovskoe)
Medic - Mouse(Mishina Julia, village Ermakovskoye)
and a modest but observant chronicler - Oksana L.(Lanshakova, s. Ermakovskoe)

left the wonderful village of Ermakovskoye for Ergaki. Everyone had a backpack (a shoulder bag with a bunch of pockets, two straps, self-resetting on the belt, with a frame if desired), equipment (harness (top and bottom), two carbines, a figure eight and a rope), tents - one Royal - instructor's, two Mana-2 tents from Rock Pillars (the products of this company can be purchased at the address: Krasnoyarsk, Lenina St., 76), two Dragon-5 tents from the St. Petersburg company Equipment, a name badge - "Tourist Patrol" (for all) and Green Tie - a distinctive feature of the tourist patrol (also for everyone).
So now these 14 naive and 3 seasoned lovers of an active lifestyle are shaking on the bus and still do not know what awaits them ahead.


A bus from Ermakovsky brought our group to Tormozakovsky bridge (614 km of the Krasnoyarsk - State border highway) at 12-00.

We landed near the Tormozakovsky bridge (the place where many tourist routes start), warmed up, despite the rain, had a bite to eat right next to the highway, drove the first one for this trip and moved to our first stop on Raduzhnoye Lake.
After a small snack right by the road, at 12-20 we set off.

We went there not just like that, but with a high mission to show the true path to travelers who do not know the way to the lake. I hope no one gets lost, although only the most negligent (the most goofy) tourist will not reach the lake according to our markings, made from S.V.'s old red sweatpants, cut into ribbons. The whole road to the lake was pleasant, except for the constant rain, constant dampness and fog, the path broken into mud, with which we were already smeared to the very carabiners (or even higher).

Setting up the robots.txt file

robots.txt- a special file designed for search engines. It specifies the indexing options for a particular site. If you want your forum to be indexed correctly, then the presence of this file should not be overlooked. I'll try to describe the procedure for creating robots.txt, specialized for phpBB forums.

Prohibition of indexing

First you need to disable the indexing of all service pages that do not contain unique content and only reduce the relevance of the forum. The prohibition of indexing is done using the directive Disallow: with an argument in the form of a page (or page template) that should not be indexed. Service pages in phpBB are, for example ucp.php (Personal section), faq.php (FAQ), search.php (Search), memberlist.php (Users). The code we need:

User-agent: *
Disallow: /faq.php
Disallow: /mcp.php
Disallow: /memberlist.php
Disallow: /posting.php
Disallow: /report.php
Disallow: /search.php
Disallow: /style.php
Disallow: /ucp.php

Also for phpBB it is worth prohibiting indexing links to specific posts. They look like this - viewtopic.php?p=54#p54. To do this, we just need to specify just one line in robots.txt, using * (asterisk) to specify the template:

Disallow: /viewtopic.php?p=*

You can also prohibit indexing the first pages of topics, since a link to a topic without specifying a page parameter leads to it, so additionally specifying the first page as a parameter does not make sense - you get the same content for different links. Links to the first pages look like viewtopic.php?f=69&t=724145&start=0. Therefore, to disable indexing, you need to use the following code:

Disallow: /viewtopic.php?f=*&t=*&start=0$

When viewing each topic, 2 links are displayed below, leading to neighboring topics - the previous one and the next one in the list. For such links, the parameter is used view, which has the corresponding values view=next And view=previous. It is better to prohibit such links for indexing as well:

Disallow: /viewtopic.php?f=*&t=*&view=next

Specifying a sitemap file

To speed up the indexing of new pages and re-indexing of old ones, sitemap files are very helpful. There is currently no built-in sitemap in phpBB3, however, you can install one of the existing sitemap generator mods for the forum (for example, Sitemap FX I wrote). If you do not have a sitemap and you do not plan to install one, you can skip this paragraph. The rest need to write the directive sitemap: with the path to the sitemap file as an argument:

Sitemap: /sitemap.php

You can specify several sitemaps at once if you have them generated in several files:

Sitemap: /forum/sitemap/01.xml
Sitemap: /forum/sitemap/02.xml

Specifying intervals between calls of robots

Sometimes it happens that the robot, when indexing your forum, creates too much load on the server, as a result of which there can be bad consequences, for example, a temporary shutdown of the server. To remedy this situation, the directive Crawl-delay, which sets timeouts when robots access the site. The argument of this directive is the time in seconds, more often than which the robot should not access the site (less often, it can). If we want to specify a timeout, for example 5 seconds, then we need to put the following code in our robots.txt:

Specifying dynamic parameters from url

In phpBB, sessions have been used for a long time, which are appended to links on the forum as a parameter sid=. With the correct setting of cookies on the forum, this parameter will be in the address only once, then it will be written to the cookies. In addition, for all search engines registered on the forum in the group "Bots", sessions are disabled automatically. However, you can play it safe by setting the session ID as a dynamic parameter in the robots.txt file - and then the robots will not take it into account when indexing pages. To do this, use the directive Clean param about which I have already written. She has two arguments. The first argument is actually the dynamic parameter itself in the url. The second argument is the path prefix of the pages on which this parameter can be used. Therefore, we get the following code for robots.txt:

Clean-param: sid/index.php

Specifying a Primary Host

For Yandex, you can also specify the main site host. The fact is that each site can be accessed at several addresses, as an example - phpbbguru.net/ and phpbbhacks.ru/ lead to the same site. However, only one address will be taken into account in the search engine, which will be displayed in the search results. Directive host: with an argument in the form of a site address, you can specify the recommended address for the search engine (since according to Yandex, this directive is not a decisive factor in determining the main host of the site, but it is of great importance).

And despite the fact that almost all forums are available only at one address, I recommend not to ignore this directive for at least two reasons. Firstly, from the point of view of Yandex, the forum addresses with www. and without it are different hosts. Therefore, if you promote your forum with an address without www, and in Yandex it is indexed with www., then there will be little good. Secondly, some dishonest people can sometimes merge your forum and their domain. They buy a domain and host a full copy of your forum on it. The search engine sees two identical forums with different addresses, and takes them for mirrors of the same forum. In this case, it is possible to determine the attacker's address as the main host, and then all visitors from Yandex will not go to your forum, but to a copy of it.

Let our forum be available at www.lastforum.ru and lastforum.ru. We need to define the address without www as the main host (I personally advise doing just that, because I consider the www prefix to be just a vestige left over from ancient times). To do this, we need to write the directive Host especially for Yandex. An important point is the directive Host must be mentioned after the directive Disallow: so you need code like this:

User agent: Yandex
Disallow: /faq.php
Host: lastforum.ru

It is better to place such code at the end of the robots.txt file.

Final version of robots.txt for phpBB

Given all of the above, you can make a complete version of the robots.txt file for the phpBB 3 forum. I will take the already mentioned lastforum.ru as an example:

User-agent: *
Disallow: /faq.php
Disallow: /mcp.php
Disallow: /memberlist.php
Disallow: /posting.php
Disallow: /report.php
Disallow: /search.php
Disallow: /style.php
Disallow: /ucp.php
Disallow: /viewtopic.php?p=*

Disallow: /viewtopic.php?f=*&t=*&view=previous
Sitemap: /sitemap.php
Clean-param: sid/index.php
Clean-param: sid/viewforum.php
Clean-param: sid /viewtopic.php

User agent: Yandex
Disallow: /faq.php
Disallow: /mcp.php
Disallow: /memberlist.php
Disallow: /posting.php
Disallow: /report.php
Disallow: /search.php
Disallow: /style.php
Disallow: /ucp.php
Disallow: /viewtopic.php?p=*
Disallow: /viewtopic.php?f=*&t=*&start=0$
Disallow: /viewtopic.php?f=*&t=*&view=next
Disallow: /viewtopic.php?f=*&t=*&view=previous
Host: lastforum.ru
Sitemap: /sitemap.php
Clean-param: sid/index.php
Clean-param: sid/viewforum.php
Clean-param: sid /viewtopic.php

Location of the robots.txt file

The robots.txt file should only be in the root of the site/forum. Considering that forums can be placed in three ways - stand-alone, on a subdomain and in a directory, robots.txt should be placed accordingly. In the case of a separate forum, as well as a forum on a subdomain, the robots.txt file must be placed in the root of the forum (the same folder as the file config.php). If the forum is located in a nested directory of the site, then robots.txt should be placed in the root of the site, and all arguments inside robots.txt should be written in accordance with the path to them from the root. That is, if the forum is located in the forum/ folder (example.com/forum/), then the previous robots.txt example will look like this:

User agent: * Disallow: /forum/faq.php
Disallow: /forum/mcp.php

Disallow: /forum/posting.php
Disallow: /forum/report.php
Disallow: /forum/search.php
Disallow: /forum/style.php
Disallow: /forum/ucp.php




Sitemap: /forum/sitemap.php


User agent: Yandex
Disallow: /forum/faq.php
Disallow: /forum/mcp.php
Disallow: /forum/memberlist.php
Disallow: /forum/posting.php
Disallow: /forum/report.php
Disallow: /forum/search.php
Disallow: /forum/style.php
Disallow: /forum/ucp.php
Disallow: /forum/viewtopic.php?p=*
Disallow: /forum/viewtopic.php?f=*&t=*&start=0$
Disallow: /forum/viewtopic.php?f=*&t=*&view=next
Disallow: /forum/viewtopic.php?f=*&t=*&view=previous
Host: lastforum.ru
Sitemap: /forum/sitemap.php
Clean-param: sid /forum/index.php
Clean-param: sid /forum/viewforum.php
Clean-param: sid /forum/viewtopic.php

The article describes the functionality that is available in PHP (relevant for 5.3.x) for handling all types of errors, including code interpretation errors (E_ERROR, E_PARSE, E_WARNING, etc). This processing will help you to manage the display of the page in case of such problems. The article contains a lot of descriptions and working examples (architecture) in order to immediately use it in your software product. In the end, well, they broke the site a little, well, it’s necessary to inform the search engine about this with the title 4xx or 5xx and amuse the user, instead of returning a white screen (or worse, a screen with sacred information, for hackers) with a 200 Ok response.

The idea to write this topic arose when I bravely asked 2 questions:

  • Question about intercepting warnings and outputting errors to the specified place in the template
  • Question about intercepting critical errors that cause script execution to just stop
According to my karma and adding to favorites, I realized that they turned out to be interesting for the PHP habra community. For this reason, I decided to issue solutions to these issues in the form of an article, so that it would be easier and more comprehensive for people and search engines to find the information they need.

If you are interested, then the details are under the cut ...

Reasons for use

The user / search engine needs to clearly answer that there are problems on the server. Without the use of a certain Feng Shui, this is quite difficult to achieve, and sometimes impossible. Here I shed light on all this, well, I leave a note for myself, since a week ago I did not know what to do, and, probably, many beginners will also be discouraged.

Feature Descriptions

This functionality is available in PHP to handle errors and control output. Here is a description of their goodies and shortcomings. I will not provide documentation, I will only refer to its pages and describe my opinion. All that will be given is only a small fraction, I will provide links to the relevant sections of the documentation at the end of the article. So let's meet:

- Control of non-critical errors: remarks, warnings, user errors. In general, everything that does not end the interpretation abnormally.
set_error_handler - Sets a user-defined error handler.
It is needed in order to write all such errors to the log. If it is not set, then it is not written to the log, but I always want to know under what combat situations comments and warnings can be called. That is, it allows the user to automatically test the product and he will not even notice it.
If the function is not set, then PHP only tries to display data on the screen, and if it is not given this, then there are no signs of life at all from these types of errors.

- Control, exceptions: is an error of type E_ERROR.
set_exception_handler - Sets a custom exception handler
Well, I don’t know why it was invented at all, when there is what is described below and just handling an error of type Exception. So I report that it simply exists. It catches the critical "exception" error and lets you do something about it. Either way, the script ends. Her work by default is enough for me personally (writes to the logs, tries to display). I would not redefine it at all, otherwise I would have to write to the logs about the exception that happened.

- Output control functions: Here I will describe 3 functions that you should know for different reasons. For example, for performance issues or header output issues. In our case, we need to display error headers.

Conditions
There is a file with code that runs first or before the code in which an error may occur, and this file and all files before it are 100% debugged with the impossibility of an error. Here is a condition that would be easier - without errors until all the registrations of the above functions pass. This file describes these methods of error control in the complex. The buffer is controlled, if there is an error, then reset the buffer and display the error.
Code with comments
I’ll add on my own that I didn’t test the code, since this is a simplified diagram of what I have in the code, comments are accepted