Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

PHP версии и ъпгрейди

Модул 8: Резервни копия, тестова среда (staging) и PHP ъпгрейди · Време за четене: 10 минути

Учебна цел: След този урок ще можете безопасно да подготвите, извършите и при нужда да върнете назад ъпгрейд на PHP.

Ключови понятия: жизнен цикъл на PHP (активна поддръжка, само сигурност, край), съвместимост на WordPress, темата и разширенията, остаряло (deprecated), предупреждение, фатална грешка, Ситедиагностика, лог на грешките, тестова среда (staging), възстановяване, възлагане на ъпгрейд

Защо PHP версиите имат значение

WordPress, Вашата тема и Вашите разширения са написани на PHP (урок 1.2). Всяка година излиза нова версия на PHP (8.3, 8.4, 8.5, ...). Всяка версия се поддържа за фиксиран период:

  • активна поддръжка: две години с поправки на грешки и на сигурността;
  • само сигурност: след това още две години само поправки на сигурността;
  • край (end of life): няма повече поправки, дори и за пробиви.

Състоянието към 8 ноември 2026 г., според php.net:

ВерсияАктуализации за сигурност доСъстояние
8.1 и по-стари(изтекло)Няма повече актуализации
8.231 декември 2026 г.Само сигурност, почти край
8.331 декември 2027 г.Само сигурност
8.431 декември 2028 г.Активна
8.531 декември 2029 г.Активна

Сайт на версия без актуализации работи на софтуер с известни пробиви, които вече не се поправят. Освен това по-новите версии са забележимо по-бързи (урок 6.3). А wordpress.org препоръчва PHP 8.3 или по-нова версия (състояние ноември 2026 г.). Затова е редно всяка година да сте в крак, а не на всеки пет години да правите голям скок.

Защо ъпгрейд може да счупи нещо

Всяка нова PHP версия променя нещо. Функции, които от години са маркирани като остарели (deprecated), се премахват, а правилата стават по-строги. Няколко известни примера:

  • PHP 8.0 премахна, наред с други, create_function() и each(), а много предупреждения станаха грешки;
  • PHP 8.2 маркира динамичното създаване на свойства върху обекти като остаряло, което е много често срещано в по-стари разширения.

Има три вида съобщения и разликата между тях е важна:

СъобщениеЗначениеПоследствие
Deprecated (остаряло)„Това все още работи, но ще изчезне в следваща версия“Нищо видимо; предупреждение за бъдещето
Warning или NoticeНещо не е съвсем наредОбикновено нищо видимо, понякога даден елемент се държи странно
Fatal errorPHP спираБяла страница или „критична грешка“ (урок 5.4)

Самият WordPress обикновено се справя добре с новите PHP версии. Рискът се крие в старите разширения и теми, особено ако дълго не са актуализирани или са изработени по поръчка.

Намиране на Вашата текуща версия

  • В WordPress: Инструменти > Състояние на сайта, раздел Информация, под Сървър: PHP версията. Състоянието на сайта предупреждава също и ако Вашата версия е остаряла.
  • Във Вашия хостинг панел: при DirectAdmin с CloudLinux в Select PHP version (с „(current)“ след текущата версия).
  • Понякога сървърът го издава в хедъра X-Powered-By: PHP/8.3.x. За предпочитане е да не е така (урок 7.4), но ако е там, е бързо забележимо.

Внимание: при много хостинг доставчици PHP версията важи за целия Ви пакет, тоест за всички сайтове в него. Стар сайт в същия пакет може да Ви спира. Това е допълнителна причина да разчистите старите сайтове или да им дадете собствен пакет.

Ъпгрейдът: стъпка по стъпка

  1. Първо актуализирайте. Актуализирайте WordPress, Вашата тема и всичките Ви разширения на текущата PHP версия. Голяма част от проблемите така вече се решават, защото създателите адаптират своя код за новите PHP версии.
  2. Проверете какво казват Вашите разширения. На страницата на разширението в wordpress.org е посочена изискваната PHP версия; в changelog често пише „compatible with PHP 8.x“. Разширение, което от години не е актуализирано (урок 5.3), е кандидат за замяна.
  3. Направете резервно копие (урок 8.1).
  4. Тестване в тестова среда (staging) (урок 8.3). Ако Вашият хостинг доставчик може да зададе различна PHP версия за всеки сайт, настройте тестовата среда на новата версия. Ако не може (една версия за целия пакет), тествайте в тестова среда в друг пакет, локално, или изберете спокоен момент в продукцията със старата версия готова за връщане.
  5. Преминаване: изберете новата версия във Вашия панел. При DirectAdmin с CloudLinux я избирате в Select PHP version и натискате Apply; без Apply нищо не се променя.
  6. Веднага проверете: отворете Вашия сайт и прегледайте няколко страници, включително администрацията, формуляр и (при магазин) плащането. Проверете в лога на грешките (урок 5.4) за нови редове PHP Fatal error.
  7. Разширения и настройки: при някои хостинг доставчици PHP разширенията и опциите (като memory_limit) са свързани с определена версия. Проверете след смяната дали са правилно зададени за новата версия.

Ако нещо се обърка

  • Фатална грешка: върнете старата версия (при повечето хостинг доставчици това става веднага), за да заработи отново Вашият сайт. Потърсете в лога на грешките кое разширение или коя тема е виновна (пътят е посочен в съобщението за грешка), актуализирайте го, заменете го или помолете създателя за решение. След това опитайте отново.
  • Само съобщения deprecated: няма причина да се връщате назад. Но това е предупреждение: при следващата версия може да стане грешка. Отбележете кое разширение е.
  • Код по поръчка, който вече не работи: стар сайт, изработен от уебдизайнер, може да съдържа код, който вече никой не поддържа. Тогава този код трябва да бъде адаптиран от някой, който познава PHP. Някои хостинг доставчици, включително WebOké, предлагат да направят това вместо Вас.

Не оставяйте сайт „завинаги“ на стара версия, защото едно разширение не се справя. Това е отлагане на проблем, който всяка година става по-голям.

Повече сигурност предварително

За тези, които искат да отидат по-далеч: с PHP_CodeSniffer и правилата на PHPCompatibilityWP можете да проверите кода на Вашите разширения и теми за неща, които не работят в по-нова PHP версия, без да пускате сайта. Това намира много, но не всичко. Тестването в тестова среда остава необходимо.

На практика: ето как изглежда в панел

Като пример използваме DirectAdmin с CloudLinux. В cPanel често се нарича MultiPHP Manager или Select PHP Version, в Plesk PHP Settings.

  1. Отворете Select PHP version (под Extra Features).
  2. Натиснете версията при PHP version, изберете новата версия и натиснете Apply.
  3. Проверете разделите Extensions и Options за новата версия.
  4. Проверете Вашия сайт и лога на грешките. Ако нещо не работи, изберете старата версия и Apply.

Обобщение

  • Всяка PHP версия получава две години активна поддръжка и две години само сигурност; след това няма повече поправки. На 8 ноември 2026 г. 8.1 вече не получава нищо, а 8.2 още до края на 2026 г.
  • Ъпгрейд най-често чупи стари разширения и теми; deprecated е предупреждение, fatal error спира сайта.
  • Ред: актуализирайте всичко, проверете разширенията, резервно копие, тестване в тестова среда, преминаване, веднага проверка.
  • Ако нещо се обърка, върнете старата версия, намерете виновника в лога на грешките и го решете; не оставайте на стара версия.
  • При много хостинг доставчици версията важи за целия пакет; разчистете старите сайтове.

Тест

1. Какво означава, че дадена PHP версия получава „само сигурност“?



2. След PHP ъпгрейд в лога на грешките има само съобщения „Deprecated“. Какво правите?



3. Какъв е правилният ред за PHP ъпгрейд?



4. Имате два сайта в един пакет. Новият поддържа PHP 8.4, старият спира над PHP 7.4. Какъв е проблемът и решението?



Задача

Задача A8.4: Все още ли се поддържа Вашата версия на PHP? Проверете в Инструменти > Състояние на сайта (раздел Информация, Сървър) коя PHP версия използва Вашият сайт и въведете я заедно с Вашия домейн. Програмата сравнява версията със списъка на поддържаните версии от php.net: зелено при активна поддръжка, оранжево при само сигурност, червено ако вече няма актуализации. Ако Вашият сървър показва версията в хедъра X-Powered-By, програмата проверява също дали той съответства на това, което сте въвели (и Ви съобщава, че е по-добре да скриете този хедър, урок 7.4).

Задача A8.4: Все още ли се поддържа Вашата версия на PHP?



Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Задача D8.4: План за ъпгрейд. Напишете план за ъпгрейда на Вашия сайт до най-новата PHP версия, която Вашият хостинг доставчик предлага. Попълнете: текуща и целева версия, кои разширения и теми имате и дали поддържат целевата версия (с източник откъде сте го прочели), къде ще тествате (тестова среда, друг пакет, локално), как можете да се върнете назад и кога ще го направите. Изпълнете го, ако можете, и отбележете какво се появи в лога на грешките.

Задача D8.4: План за ъпгрейд

Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.



Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.

Допълнително четене

Тези статии описват стъпките в панелите на WebOké; в други панели работят по сходен начин.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…