LiteSpeed Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° PHP Π²Π΅ΡΡΠΈΠΈ: ΠΡΠ»Π½ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° AlexHost
ΠΠ·Π±ΠΎΡΡΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π·Π° Π²Π°ΡΠ°ΡΠ° Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅Π΄Π° Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ΅ΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π±Π΅Π·ΡΡΠΌΠ½ΠΎ Π΄Π° Π²Π»ΠΎΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° Π½Π°ΡΡΡΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ ΡΡΠ΅ΠΉΠΌΡΡΡΠΊΠ°. Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° AlexHost, Π·Π°Π΄Π²ΠΈΠΆΠ²Π°Π½ ΠΎΡ LiteSpeed, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ PHP 7.3, 7.4, 8.0 ΠΈ 8.1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π²ΠΈ Π΄Π° Π·Π°Π΄Π°Π²Π°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° PHP Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΡΠ΅Π· MultiPHP Manager Π½Π° cPanel β Π±Π΅Π· Π΄Π° Π΄ΠΎΠΊΠΎΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ° ΠΈΠ»ΠΈ Π΄Π° ΠΎΡΠ²Π°ΡΡΡΠ΅ ΡΠΈΠΊΠ΅Ρ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°.
Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΡΠΊΠ° Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π½Π° Π½ΠΈΠ²ΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π», ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° AlexHost ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ»ΠΎΠΏΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Ρ Π½Π΅ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ»Π΅Π΄ ΡΠΌΡΠ½Π° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ°.
ΠΠ°ΡΠΎ ΠΈΠ·Π±ΠΎΡΡΡ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ΅Π½, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΎΡΡΠ·Π½Π°Π²Π°Ρ
PHP Π½Π΅ Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΡΡΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Zend Engine, ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ OPcache ΠΈ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ Π²Π°ΡΠΈΡ ΠΊΠΎΠ΄. ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° PHP 7.3 ΠΊΠΎΠ΄ Π²ΡΡΡ Ρ PHP 8.1 Π±Π΅Π· ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π΅ Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ β ΡΠΎΠ²Π° Π΅ Ρ Π°Π·Π°ΡΡ Ρ Π²Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°.
LiteSpeed Web Server ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° PHP ΡΡΠ΅Π· LSAPI (LiteSpeed Server Application Programming Interface), ΠΊΠΎΠ΅ΡΠΎ Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ mod_php Π½Π° Apache ΠΈΠ»ΠΈ FastCGI. LSAPI ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ PHP ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅Ρ ΠΏΡΠΈ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠΎ ΠΏΠΎ-Π½ΠΈΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄ΠΎ ΠΏΡΡΠ²ΠΈΡ Π±Π°ΠΉΡ (TTFB) ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ CPU ΡΠΈΠΊΠ»ΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠ° β ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π° PHP-ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ WordPress, Magento ΠΈΠ»ΠΈ Laravel.
ΠΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ LSAPI Π½Π° LiteSpeed Ρ MultiPHP Manager Π½Π° cPanel, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΡΠ΅Ρ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½, Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. Π’ΠΎΠ²Π° Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° Π°Π³Π΅Π½ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, Ρ ΠΎΡΡΠ²Π°ΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ²Π΅ Π² Π΅Π΄ΠΈΠ½ Π°ΠΊΠ°ΡΠ½Ρ Π·Π° Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π£Π΅Π± Π₯ΠΎΡΡΠΈΠ½Π³.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° PHP: ΠΠ°ΡΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
| Π€ΡΠ½ΠΊΡΠΈΡ / ΠΡΡΠΈΠ±ΡΡ | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 |
|---|---|---|---|---|
| ΠΡΠΈΡΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ | ΠΡΠΈΠΊΠ»ΡΡΠΈ Π΄Π΅ΠΊ. 2021 | ΠΡΠΈΠΊΠ»ΡΡΠΈ Π½ΠΎΠ΅ΠΌ. 2022 | ΠΡΠΈΠΊΠ»ΡΡΠΈ Π½ΠΎΠ΅ΠΌ. 2023 | ΠΡΠΈΠΊΠ»ΡΡΠΈ Π½ΠΎΠ΅ΠΌ. 2024 |
| JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ | ΠΠ΅ | ΠΠ΅ | ΠΠ° (Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½) | ΠΠ° (ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½) |
| Π’ΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° | ΠΠ΅ | ΠΠ° | ΠΠ° | ΠΠ° |
| Π‘ΡΡΠ΅Π»ΠΊΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ | ΠΠ΅ | ΠΠ° | ΠΠ° | ΠΠ° |
| ΠΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ | ΠΠ΅ | ΠΠ΅ | ΠΠ° | ΠΠ° |
| ΠΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ | ΠΠ΅ | ΠΠ΅ | ΠΠ° | ΠΠ° |
| Match ΠΈΠ·ΡΠ°Π· | ΠΠ΅ | ΠΠ΅ | ΠΠ° | ΠΠ° |
| ΠΡΡΠΈΠ±ΡΡΠΈ (ΠΠ½ΠΎΡΠ°ΡΠΈΠΈ) | ΠΠ΅ | ΠΠ΅ | ΠΠ° | ΠΠ° |
| ΠΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡ (Enums) | ΠΠ΅ | ΠΠ΅ | ΠΠ΅ | ΠΠ° |
| Fibers (ΠΠΎΡΡΡΠΈΠ½ΠΈ) | ΠΠ΅ | ΠΠ΅ | ΠΠ΅ | ΠΠ° |
| Readonly ΡΠ²ΠΎΠΉΡΡΠ²Π° | ΠΠ΅ | ΠΠ΅ | ΠΠ΅ | ΠΠ° |
| Π’ΠΈΠΏΠΎΠ²Π΅ Π½Π° ΠΏΡΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ° | ΠΠ΅ | ΠΠ΅ | ΠΠ΅ | ΠΠ° |
| Nullsafe ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ | ΠΠ΅ | ΠΠ΅ | ΠΠ° | ΠΠ° |
| OPcache ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ | ΠΠ΅ | ΠΠ° | ΠΠ° | ΠΠ° |
| ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠΏΡΡΠΌΠΎ 7.3 | ΠΠ°Π·ΠΎΠ²Π° Π»ΠΈΠ½ΠΈΡ | +~5-10% | +~15-20% | +~20-25% |
ΠΡΠ½ΠΎΠ²Π΅Π½ ΠΈΠ·Π²ΠΎΠ΄ ΠΎΡ ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ°: PHP 7.3 ΠΈ 7.4 ΡΠ° ΡΠ»Π΅Π΄ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΡΠΈ Π΄Π°ΡΠΈ Π½Π° ΠΊΡΠ°ΠΉ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ°. Π’Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π΄Π°Π΄Π΅Π½ΠΎ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ° ΡΠ²ΡΡΠ΄ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ β Π½Π΅ ΠΊΠ°ΡΠΎ ΠΈΠ·Π±ΠΎΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° Π½ΠΎΠ²ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ.
PHP 7.3: ΠΠ°ΡΠ»Π΅Π΄Π΅Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
PHP 7.3 Π±Π΅ΡΠ΅ Π²Π΅ΡΡΠΈΡ, ΡΠΎΠΊΡΡΠΈΡΠ°Π½Π° Π²ΡΡΡ
Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ Π²ΡΠ²Π΅Π΄Π΅ array_key_first(), array_key_last(), Π³ΡΠ²ΠΊΠ°Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ heredoc/nowdoc ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡΠ° is_countable(). Π’Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° PHP 5.x, ΠΈ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠΈ ΠΎΡ ΠΏΡΡ Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π΅Π· Π°Π³ΡΠ΅ΡΠΈΠ²Π΅Π½ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³.
ΠΡΠΈΡΠΈΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΡΠ΅Π°Π»Π½ΠΎΡΡ: PHP 7.3 Π΄ΠΎΡΡΠΈΠ³Π½Π° ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° ΡΠΈ ΠΏΡΠ΅Π· Π΄Π΅ΠΊΠ΅ΠΌΠ²ΡΠΈ 2021 Π³. ΠΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΎΡ PHP ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ ΠΌΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²ΡΡΠΊΠ° Π½ΠΎΠ²ΠΎΠΎΡΠΊΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² Zend Engine ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ Π½Π΅ΠΏΠΎΠΏΡΠ°Π²Π΅Π½Π°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° Π»Π΅Π³ΠΈΡΠΈΠΌΠ½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ PHP 7.3 Π² AlexHost Π΄Π½Π΅Ρ Π΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠΌ PHP 8.x Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π² Ρ ΠΎΠ΄.
Π§Π΅ΡΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π°: ΠΠΎ-ΡΡΠ°ΡΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Π½Π° Joomla 3.x, Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° CodeIgniter 3 ΠΈΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ ΠΎΡ Π΅ΡΠ°ΡΠ° Π½Π° PHP 5.6, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΠΏΠΎΠ²Π΅.
PHP 7.4: ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ ΠΎΡ Π»ΠΈΠ½ΠΈΡΡΠ° 7.x β ΠΠΎΠ»Π΅Π·Π΅Π½ Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π½ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ
PHP 7.4 Π±Π΅ΡΠ΅ ΡΠΈΠ½Π°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π² ΠΊΠ»ΠΎΠ½Π° PHP 7 ΠΈ Π²ΡΠ²Π΅Π΄Π΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° ΠΊΠΎΠ΄Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π΅ΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π΄ΠΎΡΠ»ΠΈ Ρ PHP 8.0.
Π’ΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° Π½Π°Π»Π°Π³Π°ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠ»Π°Ρ:
class User {
public int $id;
public string $email;
public ?DateTime $lastLogin;
}Π’ΠΎΠ²Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΡΡΠ»Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π° ΡΠ°ΠΌΠΎ ΠΏΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΡΠΈΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
Π‘ΡΡΠ΅Π»ΠΊΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΡΠ°ΡΠΊΠΈΡΠ΅ Π·Π°ΡΠ²Π°ΡΡΠ½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΏΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΠΈΠ²ΠΈ:
$multiplied = array_map(fn($n) => $n * 2, $numbers);ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° OPcache (Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π² 7.4) Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ Π·Π½Π°ΡΠΈΠΌΠΎ: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° PHP Π΄Π° Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΏΡΠ°Π²Π΅ΠΉΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ. ΠΠ° LiteSpeed Ρ LSAPI, ΡΠΎΠ²Π° ΡΠΌΠ½ΠΎΠΆΠ°Π²Π° ΠΏΠΎΠ»Π·Π°ΡΠ° ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈ Π²Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ³Π²Π°Ρ ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ.
PHP 7.4 Π΄ΠΎΡΡΠΈΠ³Π½Π° ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° ΡΠΈ ΠΏΡΠ΅Π· Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ 2022 Π³. ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΅ Π·Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Π½Π° WordPress, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Ρ ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ PHP 8.x, ΠΈΠ»ΠΈ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π½Π° Drupal 7, Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ°ΠΊΠ°ΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ.

PHP 8.0: ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅Π³ΡΠ²Π°Π½Π΅
PHP 8.0 Π½Π΅ Π±Π΅ΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½Π° Π²Π΅ΡΡΠΈΡ. Π’Ρ Π²ΡΠ²Π΅Π΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡ Π° Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ PHP ΠΊΠΎΠ΄ΡΡ ΡΠ΅ ΠΏΠΈΡΠ΅, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΈ ΡΠ°Π·ΡΡΠΆΠ΄Π°Π²Π°. ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠ»Π³ΠΎΠ³ΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΡ Π° ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ, ΠΏΡΠ°Π²Π΅ΠΉΠΊΠΈ Π³ΠΎ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ, ΡΠ°Π·ΡΠΈΡΠ°ΡΠΈ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Just-In-Time ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ
JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Π² PHP 8.0 ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Π³ΠΎΡΠ΅ΡΠΈ ΠΏΡΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄Π° Π΄ΠΎ Π½Π°ΡΠΈΠ²Π΅Π½ ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ. ΠΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ CPU β ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ β JIT ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π·Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ I/O (Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, API ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ), ΠΏΠΎΠ»Π·Π°ΡΠ° ΠΎΡ JIT ΡΠ΅ΡΡΠΎ Π΅ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΌΡΡΡΠΎ Π½Π΅ Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° CPU, Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ.
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ²Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΡΠ΅ΡΡΠ°ΡΠ° Π³ΡΠ΅ΡΠΊΠ° Π΄Π° ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° JIT Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΡΠΊΠΎΡΠΈ WordPress ΡΠ°ΠΉΡ. ΠΡΠΌΠ° Π΄Π° ΡΡΠ°Π½Π΅ β ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ ΡΠ°ΠΉΡΡΡ Π½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΠ°.
ΠΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ
ΠΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π²ΡΡΠ½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ²Π΅:
function processInput(int|string $input): int|false {
// ...
}ΠΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΡ ΡΠ΅Π΄Π° Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΎΡ ΡΠΈΠ³Π½Π°ΡΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ΡΠΈΠΌΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ:
array_slice(array: $data, offset: 2, length: 5, preserve_keys: true);Match ΠΈΠ·ΡΠ°Π·ΡΡ
ΠΠ·ΡΠ°Π·ΡΡ match Π·Π°ΠΌΠ΅ΡΡΠ²Π° switch ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅, Π±Π΅Π· ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΈ Π²ΡΡΡΠ°Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΈΠ·ΡΠ°Π·ΠΈ:
$status = match($code) {
200, 201 => 'success',
404 => 'not found',
500 => 'server error',
default => 'unknown',
};ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ switch, match Ρ
Π²ΡΡΠ»Ρ UnhandledMatchError, Π°ΠΊΠΎ Π½ΠΈΡΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½ Π½Π΅ ΡΡΠ²ΠΏΠ°Π΄Π° ΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ β ΠΏΡΠ°Π²Π΅ΠΉΠΊΠΈ Π±Π΅Π·ΡΡΠΌΠ½ΠΈΡΠ΅ Π½Π΅ΡΡΠΏΠ΅Ρ
ΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ.
ΠΡΡΠΈΠ±ΡΡΠΈ (Π‘ΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ)
ΠΡΡΠΈΠ±ΡΡΠΈΡΠ΅ Π½Π° PHP 8.0 Π·Π°ΠΌΠ΅ΡΡΠ²Π°Ρ Π°Π½ΠΎΡΠ°ΡΠΈΠΈΡΠ΅ Π² docblock, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ ΡΡΠ΅ΠΉΠΌΡΡΡΠΊΠΈ ΠΊΠ°ΡΠΎ Doctrine ΠΈ Symfony. Π’Π΅ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΎΡ ΡΠ°ΠΌΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π», Π° Π½Π΅ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ regex:
#[Route('/api/users', methods: ['GET'])]
public function listUsers(): Response { ... }Π’ΠΎΠ²Π° ΠΈΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ΅ΠΉΠΌΡΡΡΠΊΠ° ΠΈ ΡΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° IDE.
PHP 8.1: Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ PHP ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΠΊΠ»Π°Ρ
PHP 8.1 Π΅ Π²Π΅ΡΡΠΈΡΡΠ°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΡΠΎΡΠ°Ρ ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΈΡΠ°Π½Π΅. Π’Ρ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π° ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° PHP 8.0 ΠΈ Π΄ΠΎΠ±Π°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Ρ Π΄ΡΠ»Π³ΠΎΠ³ΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡ ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡ.
ΠΠ·Π±ΡΠΎΡΠ²Π°Π½ΠΈΡ
Enums ΡΠ΅ΡΠ°Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ βΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈβ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ PHP ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΡΠ΅ΡΠΈΠ»Π΅ΡΠΈΡ:
enum Status: string {
case Active = 'active';
case Inactive = 'inactive';
case Pending = 'pending';
}ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅Π½ΠΈΡΠ΅ enums ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΡΠΈΡΡΠΎ. Π§ΠΈΡΡΠΈΡΠ΅ enums ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΡΠΈΠΏΠΎΠ²ΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π±Π΅Π· ΠΊΡΠ΅Ρ ΠΊΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅.
Fibers: ΠΠΎΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡ
Fibers Π²ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π½ΠΈΡΠΊΠΎΠ½ΠΈΠ²ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ² Π·Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡ Π² PHP. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π½ΠΈΡΠΊΠΈΡΠ΅, Fibers ΡΠ° ΠΊΠΎΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ β ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ» ΠΈΠ·ΡΠΈΡΠ½ΠΎ. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ°, ΠΊΠΎΡΡΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈΡΠ΅ PHP ΡΡΠ΅ΠΉΠΌΡΡΡΠΊΠΈ (ΠΊΠ°ΡΠΎ ReactPHP ΠΈ Amp) ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΎ I/O Π±Π΅Π· ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ Swoole:
$fiber = new Fiber(function(): void {
$value = Fiber::suspend('first suspension');
echo "Resumed with: " . $value;
});
$value = $fiber->start();
$fiber->resume('hello');ΠΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³ Ρ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ PHP ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Fibers ΠΎΡΠ²Π°ΡΡΡ Π²ΡΠ°ΡΠ°ΡΠ° ΠΊΡΠΌ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΈΠΊΡΠ» Π½Π° ΡΡΠ±ΠΈΡΠΈΡ, Π² ΡΠΈΡΡ PHP.
Readonly ΡΠ²ΠΎΠΉΡΡΠ²Π°
Readonly ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π°Π»Π°Π³Π°Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡ ΡΠ»Π΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅Π½ΡΠΈΡΠ΅ΡΠΈΡΠ΅ Π² DDD (Domain-Driven Design) Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ:
class OrderId {
public function __construct(
public readonly string $value
) {}
}ΠΠ΅Π΄Π½ΡΠΆ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, $value Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ. ΠΡΠ΅ΠΊΠΈ ΠΎΠΏΠΈΡ Ρ
Π²ΡΡΠ»Ρ Error. Π’ΠΎΠ²Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΡΡΠ» ΠΊΠ»Π°Ρ ΡΠ°Π±Π»ΠΎΠ½Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Π·Π°ΡΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅.
Π’ΠΈΠΏΠΎΠ²Π΅ Π½Π° ΠΏΡΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ°
ΠΠΎΠΊΠ°ΡΠΎ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ ΠΊΠ°Π·Π²Π°Ρ βΡΠΎΠ²Π° ΠΠΠ ΠΎΠ½ΠΎΠ²Π°,β ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ° ΠΊΠ°Π·Π²Π°Ρ βΡΠΎΠ²Π° Π ΠΎΠ½ΠΎΠ²Π°β β ΠΈΠ·ΠΈΡΠΊΠ²Π°ΠΉΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ:
function processEntity(Serializable&Countable $entity): void { ... }Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΠ΅Π½Π½ΠΎ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° middleware.
ΠΠ°ΠΊ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° PHP Π² AlexHost LiteSpeed Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅Π· cPanel
Π‘ΡΠ΅Π΄ΠΈΡΠ΅ Π·Π° VPS Ρ cPanel ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° AlexHost ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° PHP ΡΡΠ΅Π· MultiPHP Manager Π½Π° cPanel. ΠΡΠΎ ΡΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°:
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π°ΡΠ΅ΡΠΎ ΡΠ°Π±Π»ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° cPanel
ΠΠ»Π΅Π·ΡΠ΅ Π² Π°ΠΊΠ°ΡΠ½ΡΠ° ΡΠΈ Π² AlexHost ΠΈ Π½Π°Π²ΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎ ΡΠ΅ΠΊΡΠΈΡΡΠ° ΠΠ°Π½Π½ΠΈ Π·Π° Π²Ρ
ΠΎΠ΄, Π·Π° Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° cPanel. ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ cPanel Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡ URL (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ yourdomain.com:2083 ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈΡ IP Ρ ΠΏΠΎΡΡ).
Π‘ΡΡΠΏΠΊΠ° 2: ΠΠ°Π²ΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎ MultiPHP Manager
ΠΡΡΡΠ΅ Π² cPanel, Π½Π°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΠΈΡΡΠ° Π‘ΠΎΡΡΡΠ΅Ρ. ΠΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ Ρ MultiPHP Manager. Π’ΠΎΠ·ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ·Π±ΡΠΎΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²Π°ΡΠΈΡ Π°ΠΊΠ°ΡΠ½Ρ, Π²ΡΠ΅ΠΊΠΈ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π°ΡΠ° ΠΌΡ ΡΠ΅ΠΊΡΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° PHP.
Π‘ΡΡΠΏΠΊΠ° 3: ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ΅Π»Π΅Π²ΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP
ΠΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠ° Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΡΠ΅ΡΠΎ Π΄ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΠ°Π΄Π°ΡΠΎΡΠΎ ΠΌΠ΅Π½Ρ PHP Π²Π΅ΡΡΠΈΡ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΡ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ β PHP 7.3, 7.4, 8.0 ΠΈΠ»ΠΈ 8.1 Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΏΠ»Π°Π½. ΠΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ ΠΡΠΈΠ»ΠΎΠΆΠΈ.
Π‘ΡΡΠΏΠΊΠ° 4: ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ°
Π‘Π»Π΅Π΄ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅, ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π²Π»ΠΈΠ·Π° Π² ΡΠΈΠ»Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π·Π° Π½ΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅, ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΡΠ°ΠΉΠ» phpinfo.php Π² ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°:
<?php phpinfo(); ?>ΠΠΎΡΠ²ΡΡΠ΄Π΅ΡΠ΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π² ΠΈΠ·Ρ
ΠΎΠ΄Π°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΡΡΠΈΠΉΡΠ΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» β ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° phpinfo() ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΠΊΡΠΈΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ Π½Π° Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅.
Π‘ΡΡΠΏΠΊΠ° 5: Π’Π΅ΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ
ΠΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ°ΠΉΡΠ΅, ΡΠ΅ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° Π±Π΅Π· ΡΠ΅ΡΡΠ²Π°Π½Π΅. ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΆΡΡΠ½Π°Π»Π° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (/home/username/logs/ ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΡΠ΅ΡΠΊΠΈ Π½Π° cPanel) Π·Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΡΠ°Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΊΠ°Π·Π²Π°ΡΠΈ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ.
ΠΠ°ΠΌΡΠ½Π° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΠ΅Π· .htaccess
ΠΠ° Π΄Π΅ΡΠ°ΠΉΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° PHP 7.4, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΡΠ°ΠΉΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° PHP 8.1 β ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π½Π° Π½ΠΈΠ²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ .htaccess:
<FilesMatch ".php$">
SetHandler application/x-httpd-ea-php81
</FilesMatch>Π€ΠΎΡΠΌΠ°ΡΡΡ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π΅ application/x-httpd-ea-phpXX, ΠΊΡΠ΄Π΅ΡΠΎ XX ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π±Π΅Π· Π΄Π΅ΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ°. Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΡ Π½Π° EasyApache 4, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² cPanel ΡΡΠ΅Π΄ΠΈ.
ΠΠ°ΡΡΠΈΡΠ° Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΠ·Π±ΠΎΡ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° PHP
| Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ | ΠΡΠ΅ΠΏΠΎΡΡΡΠ°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° PHP | ΠΠ±ΠΎΡΠ½ΠΎΠ²ΠΊΠ° |
|---|---|---|
| ΠΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Laravel 10+ ΠΈΠ»ΠΈ Symfony 6+ | PHP 8.1 | ΠΠ·ΠΈΡΠΊΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΡΠΌ PHP 8.1; ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ |
| WordPress 6.x (Π²ΡΠΈΡΠΊΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ) | PHP 8.1 | ΠΡΠΈΡΠΈΠ°Π»Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠ°; ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° |
| WordPress Ρ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ (ΠΏΡΠ΅Π΄ΠΈ 2022) | PHP 7.4 ΠΈΠ»ΠΈ 8.0 | Π’Π΅ΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° ΠΏΡΠ΅Π΄ΠΈ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ |
| Magento 2.4.6+ | PHP 8.1 | ΠΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° 8.1 |
| Drupal 10 | PHP 8.1 | ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ |
| ΠΠ°ΡΠ»Π΅Π΄Π΅Π½ Joomla 3.x | PHP 7.3 ΠΈΠ»ΠΈ 7.4 | Joomla 3.x Π½Π΅ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ PHP 8.x |
| ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΡΠ΅Π΄ΠΈ 2018) | PHP 7.3 | ΠΠΈΠ³ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΡΠΊΠΎΡΠΎ |
| ΠΠΎΠ² API ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ· ΠΈΠ»ΠΈ CLI ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ | PHP 8.1 | ΠΠ°Π»ΠΈΡΠ½ΠΈ ΡΠ° Enums, Fibers, readonly ΡΠ²ΠΎΠΉΡΡΠ²Π° |
ΠΠΎΡΠ»Π΅Π΄ΠΈΡΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° PHP Π²Π΅ΡΡΠΈΠΈ ΡΠ»Π΅Π΄ ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ°
Π’Π°Π·ΠΈ ΡΠΎΡΠΊΠ° Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅. PHP Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΡΠ»Π΅Π΄ Π΄Π°ΡΠ°ΡΠ° Π½Π° ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΎΡ PHP ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°:
- CVE, ΠΎΡΠΊΡΠΈΡΠΈ ΡΠ»Π΅Π΄ EOL, Π½Π΅ ΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΡΡ Π² Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈΡ ΠΊΠ»ΠΎΠ½ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ°.
- Π‘ΡΠ΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ ΡΠ° ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½ PHP ΠΏΡΠΎΡΠ΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΡΠ΅Π³Π½Π΅ ΡΡΡΠ΅Π΄Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ°.
- Π‘ΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ PCI DSS ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΡΡΡΠ΅Ρ ΡΠ»Π΅Π΄ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡ ΠΎΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΊΡΠ°ΠΉ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ°. ΠΠΊΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° PHP 7.3 ΠΈΠ»ΠΈ 7.4 Π΅ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΡΠΎ.
- ΠΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ΅Π½ΠΈ Π·Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (WAF) ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΠΌΠ°Π»ΡΡ Π½ΡΠΊΠΎΠΈ ΡΠΈΡΠΊΠΎΠ²Π΅, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π».
ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ Π²Π°ΡΠ°ΡΠ° PHP ΡΡΠ΅Π΄Π°, ΡΠΈΡΡΠΌΠ° Π½Π° ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ PHP ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ, Dedicated ΡΡΡΠ²ΡΡ Π²ΠΈ Π΄Π°Π²Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΡΠΈΠ³ΡΡΡΡ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° LiteSpeed ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° PHP
ΠΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π° LiteSpeed Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ ΠΈΠ·Π±ΠΎΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° PHP ΠΏΠΎ Π½Π°ΡΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈ:
LiteSpeed Cache (LSCache): ΠΠ»ΡΠ³ΠΈΠ½ΡΡ LSCache Π·Π° WordPress ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΅Π± ΡΡΡΠ²ΡΡ, Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ PHP. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΠ΅ Π½ΠΈΠ²Π° Π½Π° ΠΏΠΎΠΏΠ°Π΄Π΅Π½ΠΈΡ Π² OPcache Π½Π° PHP 8.x ΠΎΠ·Π½Π°ΡΠ°Π²Π°Ρ, ΡΠ΅ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΈΡΠ΅ ΠΊΠ΅ΡΠΎΠ²Π΅ ΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ, Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π°ΠΊΠ°Π·Π°Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΏΡΠΈ Π½Π΅ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ.
ΠΠΎΡΡΠΎΡΠ½ΡΡΠ²ΠΎ Π½Π° LSAPI ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅: LiteSpeed ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° PHP ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΠΆΠΈΠ²ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Π½Π° PHP 8.1 ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π° ΡΠ΅ Π·Π°Π³ΡΠ΅Π΅ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π³ΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄Π° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π° CGI ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΡΡΠ°ΡΡΠΈΡΠ° ΡΡΡΠ΄Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ.
PHP-FPM ΡΡΠ΅ΡΡ LSAPI: ΠΠ° VPS ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ΅ΠΊΠ° ΡΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ PHP-FPM ΠΈ LSAPI. LSAPI ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π°Π΄ΠΌΠΈΠ½Π°Π²Π° PHP-FPM Π² Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΎΠ²Π΅ Π·Π° LiteSpeed ΡΡΠ΅Π΄ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π° Π½Π΅ ΠΎΠ±ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° FastCGI.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π±ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈ: PHP 8.x ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊ Π±Π°Π·ΠΎΠ² ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ PHP 7.x ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° JIT ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡ ΡΠΈΠΏΠΎΠ²Π΅. ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π² ΡΡΠ΅Π΄Π° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ memory_limit ΡΠ»Π΅Π΄ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π² AlexHost LiteSpeed Ρ ΠΎΡΡΠΈΠ½Π³Π°, ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΏΡΠ΅Π· ΡΠΎΠ·ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ:
- ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ PHP Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β Π½Π΅ Π³Π°Π΄Π°ΠΉΡΠ΅. Laravel, WordPress, Magento ΠΈ Drupal ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° PHP.
- ΠΠ΄ΠΈΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ β ΠΊΠΎΠ΄ΡΡ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ Π΅ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΈΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ PHP 8.x. ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅
composer check-platform-reqs, Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Composer. - ΠΡΡΠ²ΠΎ ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ.
- ΠΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΆΡΡΠ½Π°Π»ΠΈΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΡΠ»Π΅Π΄ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ β ΡΡΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ
E_DEPRECATED,E_NOTICEΠΈE_FATAL, ΡΠΊΠ°Π·Π²Π°ΡΠΈ Π½Π°ΡΡΡΠ΅Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ. - ΠΠ·ΡΡΠΈΠΉΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
phpinfo(), ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ°. - ΠΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ EOL PHP Π²Π΅ΡΡΠΈΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ°Π½, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΏΠ»Π°Π½ Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠ°ΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ MultiPHP INI Editor (ΡΡΡΠΎ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° Π‘ΠΎΡΡΡΠ΅Ρ Π½Π° cPanel), Π·Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ PHP Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΊΠ°ΡΠΎ
memory_limit,upload_max_filesizeΠΈmax_execution_timeΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° β ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠΈΡΠ΅. - ΠΠΊΠΎ Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° PHP 8.2 ΠΈΠ»ΠΈ 8.3, ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π΄ΠΎ VPS ΠΏΠ»Π°Π½, ΠΊΡΠ΄Π΅ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ»Π½ΠΈΡ ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ΅ΠΊ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΡΠΊΠ° Π²Π΅ΡΡΠΈΡ Π½Π° PHP ΡΡΠ΅Π· Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΠ°ΡΠΎ Remi ΠΈΠ»ΠΈ ondrej/php.
Π§Π΅ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ
ΠΠΎΠ³Π° Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° PHP Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ Π°ΠΊΠ°ΡΠ½Ρ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° AlexHost?
ΠΠ°. MultiPHP Manager Π½Π° cPanel ΠΏΡΠΈΠ»Π°Π³Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP Π½Π° Π½ΠΈΠ²ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½. ΠΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π² Π°ΠΊΠ°ΡΠ½ΡΠ° Π²ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½Π° Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½Π° ΡΡΠ΅Π· ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ³Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ.
ΠΠ·ΠΈΡΠΊΠ²Π° Π»ΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΠΈ Π½Π° PHP Π² MultiPHP Manager ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° Π»ΠΈ ΠΏΡΠ΅ΡΡΠΎΠΉ?
ΠΠ΅. ΠΡΠΎΠΌΡΠ½Π°ΡΠ° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π·Π° Π½ΠΎΠ²ΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π΄ΡΠ»Π³ΠΎΡΡΠ°ΠΉΠ½ΠΈ PHP ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Ρ Π½Π° ΡΡΠ°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ, Π½ΠΎ Π·Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΠ΅Π± Π·Π°ΡΠ²ΠΊΠΈ ΡΠΎΠ·ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ Π΅ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅Π½ ΠΈ Π½Π΅ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌ ΠΏΡΠ΅ΡΡΠΎΠΉ.
Π©Π΅ ΡΡΠΊΠΎΡΠΈ Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Π½Π° PHP 8.1 ΠΌΠΎΡ WordPress ΡΠ°ΠΉΡ?
ΠΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π½Π° WordPress. JIT ΠΎΠ±Π»Π°Π³ΠΎΠ΄Π΅ΡΠ΅Π»ΡΡΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡΡΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ CPU. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° WordPress Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ I/O ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ JIT Π½Π΅ ΡΡΠΊΠΎΡΡΠ²Π°. ΠΠΎ-Π·Π½Π°ΡΠΈΠΌΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° PHP 8.x Π·Π° WordPress ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ°ΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° OPcache ΠΈ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ ΠΏΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ MultiPHP Manager ΠΈ MultiPHP INI Editor Π² cPanel?
MultiPHP Manager ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΊΠΎΡ Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½. MultiPHP INI Editor ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° PHP ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ (Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ php.ini) Π·Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈ Π²Π΅ΡΡΠΈΡ Π½Π° PHP. Π Π΄Π²Π°ΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΏΡΠ»Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° PHP ΡΡΠ΅Π΄Π°ΡΠ° β ΡΠ°ΠΌΠΎ ΠΈΠ·Π±ΠΎΡΡΡ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ°ΠΉΠΌΠ°ΡΡΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ, Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΈ ΡΠ΅ ΡΡΡΠΏΠΈ ΡΠ»Π΅Π΄ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π΄ΠΎ PHP 8.x?
ΠΡΡΠ²ΠΎ, Π²ΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° PHP Π² MultiPHP Manager, Π·Π° Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΆΡΡΠ½Π°Π»ΠΈΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ. Π§Π΅ΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (each(), create_function()), ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π² ΡΡΠΈΠ» ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ. ΠΠ΄ΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠ΅ΡΡΠΎΠ²Π° ΡΡΠ΅Π΄Π°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ. ΠΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ CMS ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΡΡΡΠΊ, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° PHP 8.x.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ