Π Π°Π±ΠΎΡΠ° Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ
Π‘ΡΠ°ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ PHP.
ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠ΅ΡΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ:
- 0 - NORMAL
- 1 - ABORTED
- 2 - TIMEOUT
- 3 - ABORTED ΠΈ TIMEOUT
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PHP-ΡΠΊΡΠΈΠΏΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΡΠ°ΡΡΡ NORMAL.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°Π·ΠΎΡΠ²Π°Π» ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΡΠ°ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ
Π½Π° ABORTED. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ
Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ "Stop" Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΠΌΠΈΡ (ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
set_time_limit()), Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΡΠ°ΡΡΡ TIMEOUT.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠ°ΡΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ
ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, Π΄Π°ΠΆΠ΅
Π΅ΡΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½ Π²Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠΎ
ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΈ ignore_user_abort
Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ php.ini. Π’Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΡΠΊΠ°Π·Π°Π² php_value ignore_user_abort Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ
ΡΠ°ΠΉΠ»Π΅ Apache httpd.conf ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
ignore_user_abort().
ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΡΠ² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ
ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ register_shutdown_function(),
Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ°.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡ "Stop" Π² ΡΠ²ΠΎΡΠΌ
Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ PHP ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π±ΡΠ»ΠΎ ΡΡΠ΅ΡΡΠ½ΠΎ, ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ
ΡΠΊΡΠΈΠΏΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅
Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
connection_aborted(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ
true, Π΅ΡΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠ°Π·ΠΎΡΠ²Π°Π½ΠΎ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 30 ΡΠ΅ΠΊΡΠ½Π΄, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ max_execution_time Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ
ΡΠ°ΠΉΠ»Π΅ php.ini. Π’Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ,
Π΄ΠΎΠ±Π°Π²ΠΈΠ² php_value max_execution_time Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» Apache
httpd.conf ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ set_time_limit().
ΠΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π»ΠΈΠΌΠΈΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ
ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π°. Π£ΡΠΎΡΠ½ΠΈΡΡ
ΠΏΡΠΈΡΠΈΠ½Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
connection_status(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ
2, Π΅ΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ» ΠΏΡΠ΅ΡΠ²Π°Π½ ΠΏΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ - ΡΡΠΎ ΠΎΠ±Π° ΡΡΠ°ΡΡΡΠ°: ABORTED ΠΈ TIMEOUT, -
ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅,
Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ
ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΡΠ²Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΎΡΠΌΠ΅ΡΠΈΠ² ΡΡΠΎΡ ΡΠ°ΠΊΡ,
PHP ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°, ΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π»ΠΈΠΌΠΈΡΠ° Π±ΡΠ΄Π΅Ρ
Π²ΡΠ·Π²Π°Π½Π° Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²Π°Ρ Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π°. Π ΡΡΠΎΠΉ ΡΠΎΡΠΊΠ΅
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ connection_status()
Π²Π΅ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3.