Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
LiteSpeed

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 ΠΈΠ»ΠΈ FastCGI Π² Apache. LSAPI ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ постоянныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы PHP, устраняя Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° созданиС процСссов для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запроса, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ мСньшСС врСмя Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° (TTFB) ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТСнноС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ CPU Π½Π° запрос, Ρ‡Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для PHP-интСнсивных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ WordPress, Magento ΠΈΠ»ΠΈ Laravel.

Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ LSAPI LiteSpeed с MultiPHP Manager Π² cPanel обСспСчиваСт ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ вСрсий PHP Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ процСссов для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ для агСнтств ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΡ… сайты Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Π΅Π±-хостинга.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ вСрсий PHP: ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ бСзопасности

Ѐункция / АтрибутPHP 7.3PHP 7.4PHP 8.0PHP 8.1
ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈΠ—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° Π΄Π΅ΠΊ. 2021Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ноя. 2022Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ноя. 2023Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ноя. 2024
JIT-компиляторНСтНСтДа (ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ)Π”Π° (ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ)
Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ свойстваНСтДаДаДа
Π‘Ρ‚Ρ€Π΅Π»ΠΎΡ‡Π½Ρ‹Π΅ функцииНСтДаДаДа
Union-типыНСтНСтДаДа
Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ аргумСнтыНСтНСтДаДа
Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ matchНСтНСтДаДа
Атрибуты (Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ)НСтНСтДаДа
ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ (Enums)НСтНСтНСтДа
Π€Π°ΠΉΠ±Π΅Ρ€Ρ‹ (ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹)НСтНСтНСтДа
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-ΠΊΠΎΠ΄Π°. Ряд Π΄Π°Π²Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½, Ρ‡Ρ‚ΠΎ сдСлало Π΅Π³ΠΎ критичСским ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ для ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π±Π°Π·, ΠΏΠΎΠ»Π°Π³Π°Π²ΡˆΠΈΡ…ΡΡ Π½Π° нСстрогоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

JIT-компиляция

JIT-компилятор Π² PHP 8.0 ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΊΠΎΠ΄Π° Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²ΠΎ врСмя выполнСния, минуя ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ. Π’ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ…, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… CPU, β€” матСматичСских вычислСниях, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°Ρ… прСобразования Π΄Π°Π½Π½Ρ‹Ρ… β€” JIT ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ сущСствСнноС ускорСниС. Однако для Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… I/O (запросы ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹Π·ΠΎΠ²Ρ‹ API), прСимущСство JIT Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΠ·ΠΊΠΈΠΌ мСстом являСтся Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ CPU, Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… рСсурсов.

ПониманиС этого различия ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Ρ‘Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ β€” ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ JIT автоматичСски ускорит сайт Π½Π° WordPress. Π­Ρ‚ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ β€” Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сайт Π½Π΅ выполняСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса.

Union-Ρ‚ΠΈΠΏΡ‹ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Union-Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ явно ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ нСсколько Ρ‚ΠΈΠΏΠΎΠ²:

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. Они Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ самим Π΄Π²ΠΈΠΆΠΊΠΎΠΌ, Π° Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ рСгулярными выраТСниями:

#[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';
}

Backed-пСрСчислСния ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ чисто ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ЧистыС пСрСчислСния ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ типобСзопасноС прСдставлСниС состояния Π±Π΅Π· хрупкости констант класса ΠΈΠ»ΠΈ цСлочислСнных Ρ„Π»Π°Π³ΠΎΠ².

Π€Π°ΠΉΠ±Π΅Ρ€Ρ‹: коопСративная ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ

Π€Π°ΠΉΠ±Π΅Ρ€Ρ‹ вводят Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° Π² PHP. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Ρ„Π°ΠΉΠ±Π΅Ρ€Ρ‹ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ β€” ΠΎΠ½ΠΈ явно ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ основа, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ асинхронныС 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, Ρ„Π°ΠΉΠ±Π΅Ρ€Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° основС Ρ†ΠΈΠΊΠ»Π° событий Π½Π° чистом PHP.

Readonly-свойства

Readonly-свойства ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… сущностСй Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… DDD (Domain-Driven Design):

class OrderId {
    public function __construct(
        public readonly string $value
    ) {}
}

ПослС установки Π² конструкторС $value Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π›ΡŽΠ±Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° выбрасываСт Error. Π­Ρ‚ΠΎ устраняСт Ρ†Π΅Π»Ρ‹ΠΉ класс шаблонного Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

ΠŸΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‚ΠΈΠΏΡ‹

Π’Π°ΠΌ Π³Π΄Π΅ union-Ρ‚ΠΈΠΏΡ‹ говорят «это Π˜Π›Π˜ Ρ‚ΠΎΒ», ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‚ΠΈΠΏΡ‹ говорят «это И Ρ‚ΠΎΒ» β€” трСбуя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π»ΠΎ нСсколько интСрфСйсов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ:

function processEntity(Serializable&Countable $entity): void { ... }

Π­Ρ‚ΠΎ особСнно Ρ†Π΅Π½Π½ΠΎ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² сСрвисов ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ вСрсии 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 10PHP 8.1МинимальноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅
Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Joomla 3.xPHP 7.3 ΠΈΠ»ΠΈ 7.4Joomla 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, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр обСспСчиваСт ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΈ административный доступ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ срСды.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ PHP Π² LiteSpeed

Ряд особСнностСй 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(), созданныС Π²ΠΎ врСмя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.
  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вСрсии 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.