Спестете 15% от всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код: Skills За начало
Заглавия
Администрация

Как да промените версията на PHP във вашата хостинг среда (Пълно ръководство)

Управлението на вашата PHP версия е една от най-критичните административни задачи за всеки собственик на уебсайт или разработчик. Независимо дали надграждате, за да се възползвате от последните подобрения на производителността, намалявате версията за съвместимост на наследени приложения, или поправяте уязвимости в сигурността, знанието как точно да превключите PHP версии в различни хостинг среди е съществено умение. Това всеобхватно ръководство ви преведе през всеки наличен метод — от графичния интерфейс на cPanel до инструменти от командния ред на VPS Hosting и посветени сървъри.

1. Защо управлението на PHP версията е важно

PHP захранва над 77% от всички уебсайтове с известен език на сървърната страна, включително основни платформи като WordPress, Joomla, Drupal и Magento. Всяко основно издание на PHP въвежда значителни промени:

  • Печалби в производителността: PHP 8.x е драматично по-бърз от PHP 5.x или 7.x, благодарение на JIT (Just-In-Time) компилатора.
  • Пачове за сигурност: По-старите версии на PHP в крайна сметка достигат End of Life (EOL) и вече не получават актуализации за сигурност, оставяйки вашия сайт изложен на риск.
  • Съвместимост на приложенията: Някои по-стари приставки, теми или персонализирани приложения са написани за конкретни версии на PHP и могат да се счупят при по-нови издания.
  • Съответствие на хостинга: Много хостинг доставчици налагат минимални изисквания за версия на PHP, за да поддържат стандартите за сигурност на сървъра.

Неуспехът да управлявате активно вашата PHP версия може да доведе до счупена функционалност, нарушения на сигурността или пълен престой на уебсайта. Разбирането как да контролирате тази настройка — независимо от вашия тип хостинг — е неотложно за всеки сериозен администратор на уеб.

2. Разбиране на PHP версиите и съвместимостта

Преди да направите някакви промени, е важно да разберете жизненния цикъл на издаванията на PHP и как са структурирани версиите.

Номериране на PHP версиите

PHP следва схема за версионизиране MAJOR.MINOR.PATCH:

КомпонентПримерЗначение
Major8Значителни архитектурни промени, възможни критични промени
Minor8.2Нови функции, обратно съвместими подобрения
Patch8.2.10Само корекции на грешки и сигурностни кръпки

Жизнен цикъл на поддръжката на PHP

Всяка второстепенна версия на PHP получава:

  • Активна поддръжка за приблизително 2 години (корекции на грешки + сигурностни кръпки)
  • Поддръжка само за сигурност за допълнителен 1 година
  • Край на живота (EOL) след което не се издават кръпки

Текущо поддържани PHP версии (към 2024–2025)

PHP версияСтатусБележки
PHP 8.3Активна поддръжкаПоследното стабилно издание
PHP 8.2Активна поддръжкаПрепоръчано за повечето приложения
PHP 8.1Само сигурностВсе още широко използвано
PHP 8.0EOLИзбягвайте — няма сигурностни кръпки
PHP 7.4EOLСамо наследствена поддръжка
PHP 7.3 и по-долуEOLСилно не се препоръчва

> Правило на палеца: Винаги стартирайте най-високата PHP версия, която вашето приложение официално поддържа. Ако вашата CMS или рамка поддържа PHP 8.2, няма причина да стартирате PHP 7.4.

3. Метод 1: Промяна на PHP версия чрез cPanel (MultiPHP Manager)

cPanel е най-широко използваният контролен панел за хостинг и предоставя два вградени инструмента за управление на PHP версии: MultiPHP Manager (за целия сървър или за отделен домейн) и MultiPHP INI Editor (за фина настройка на PHP настройките). Ако използвате VPS с cPanel, и двата инструмента са налични за вас.

Стъпка 1: Влизане в cPanel

  1. Отворете браузъра си и отидете на вашия URL за вход в cPanel:
    https://yourdomain.com:2083 (защитен, препоръчан)
    https://yourdomain.com/cpanel
  • Или директния IP адрес: https://your-server-ip:2083
    1. Въведете вашето потребителско име на cPanel и парола.
    2. Кликнете Вход.

    Стъпка 2: Отворете MultiPHP Manager

    1. В контролния панел на cPanel, преместете се към раздела Софтуер.
    2. Кликнете на MultiPHP Manager.

    > Алтернатива: Някои конфигурации на cPanel обозначават това като Избор на PHP версия, PHP конфигурация или PHP селектор (последното е често при хостинг базиран на CloudLinux). Интерфейсът може да се различава леко, но процесът е същият.

    Стъпка 3: Изберете вашия домейн и PHP версия

    В интерфейса на MultiPHP Manager:

    1. Ще видите списък на всички домейни и поддомейни, хоствани на вашия акаунт.
    2. Отметнете квадратчето до домейна, който искате да модифицирате.
    3. От падащото меню PHP версия в горната част на страницата, изберете желаната PHP версия (например, PHP 8.2).
    4. Кликнете Приложи.

    > Важно: Ако сте на акаунт със споделен хостинг, наличните PHP версии се определят от вашия хостинг доставчик. Ако имате нужда от версия, която не е в списъка, свържете се с екипа за поддръжка на вашия хост или помислете за надграждане на VPS хостинг план, където имате пълен контрол над инсталираните PHP версии.

    Стъпка 4: (Опционално) Персонализирайте PHP настройките чрез MultiPHP INI Editor

    След смяната на версията, може да е необходимо да коригирате стойностите на конфигурацията на PHP:

    1. Върнете се към раздела Софтуер в cPanel.
    2. Кликнете MultiPHP INI Editor.
    3. Изберете вашия домейн от падащото меню.
    4. Модифицирайте стойности като:
      memory_limit (например, 256M)
      upload_max_filesize (например, 64M)
      max_execution_time (например, 300)
      post_max_size (например, 64M)
      
      
      Кликнете Приложи, за да запазите промените.
      
      Стъпка 5: Проверете промяната
      Създайте тестов файл, за да потвърдите активната PHP версия (вижте раздел 7 за пълни инструкции).
      4. Метод 2: Промяна на PHP версия чрез .htaccess (Apache)
      Ако вашата хостинг среда работи с Apache, но не предоставя графичен PHP селектор, можете да контролирате PHP версията директно чрез вашия .htaccess файл. Този метод е особено полезен на Shared Web Hosting планове, където достъпът на ниво сървър е ограничен.
      Как работи
      Apache използва handlers за определяне на начина, по който .php файлове се обработват. Чрез указване на персонализиран handler в .htaccess, вие инструктирате Apache да използва специфична PHP версия за вашия сайт.
      Стъпка 1: Достъп до вашия .htaccess файл
      Можете да редактирате .htaccess чрез:
      
      cPanel File Manager: Навигирайте до public_html, намерете .htaccess, щракнете с десния бутон и изберете Edit.
      FTP/SFTP клиент: Свържете се със сървъра си и навигирайте до вашия web root (обикновено public_html или www).
      SSH команден ред: nano /home/username/public_html/.htaccess

      > Забележка: .htaccess е скрит файл. В вашия FTP клиент активирайте “Show Hidden Files.” В cPanel File Manager отметнете “Show Hidden Files (dotfiles)” в настройките горе вдясно.

      Стъпка 2: Добавете PHP Handler директива

      Добавете един от следните редове към вашия .htaccess файл, в зависимост от конвенцията за именуване на PHP handler на вашия сървър:

      За PHP 8.2:

      AddHandler application/x-httpd-php82 .php

      За PHP 8.1:

      AddHandler application/x-httpd-php81 .php

      За PHP 7.4 (legacy):

      AddHandler application/x-httpd-php74 .php

      Алтернативен синтаксис (използван на някои хостове):

      # Using suPHP or FastCGI
      Action php-cgi /cgi-bin/php82
      AddHandler php-cgi .php

      > Важно: Точното име на handler (x-httpd-php82, x-httpd-php81, и т.н.) зависи от начина, по който вашия хостинг провайдър е конфигурирал PHP на своите сървъри. Ако горното не работи, проверете документацията на вашия хост или се свържете със поддръжката за правилните имена на handler.

      Стъпка 3: Запазване и тестване

      Запазете .htaccess файла и тестирайте вашия сайт. Ако видите 500 Internal Server Error, името на handler е вероятно неправилно — премахнете реда и опитайте алтернативен синтаксис.

      5. Метод 3: Промяна на PHP версия чрез командния ред (VPS/Dedicated Servers)

      Ако управлявате собствени Dedicated Servers или VPS с root достъп, имате пълен контрол над инсталацията на PHP и превключването на версии. Това е най-мощният и гъвкав метод.

      Предварителни изисквания

      • Root или sudo достъп до вашия сървър
      • SSH клиент (Terminal на macOS/Linux, PuTTY или Windows Terminal на Windows)
      • Основно познаване на операции в Linux командния ред

      Ubuntu / Debian — Използване на update-alternatives

      Ubuntu и Debian-базирани системи използват update-alternatives система за управление на множество PHP версии едновременно.

      Стъпка 1: Добавяне на Ondřej Surý PHP хранилище

      Това PPA предоставя множество PHP версии за Ubuntu/Debian:

      sudo apt update
      sudo apt install -y software-properties-common
      sudo add-apt-repository ppa:ondrej/php
      sudo apt update

      Стъпка 2: Инсталиране на желаната PHP версия

      # Install PHP 8.2 and common extensions
      sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl 
          php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
      
      # Install PHP 8.1 if needed
      sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql

      Стъпка 3: Превключване на PHP версия по подразбиране (CLI)

      # View all registered PHP alternatives
      sudo update-alternatives --list php
      
      # Switch to PHP 8.2
      sudo update-alternatives --set php /usr/bin/php8.2
      
      # Or use the interactive selector
      sudo update-alternatives --config php

      Интерактивният селектор ще покаже нещо подобно на:

      There are 3 choices for the alternative php (providing /usr/bin/php).
      
        Selection    Path             Priority   Status
      ------------------------------------------------------------
      * 0            /usr/bin/php8.2   82        auto mode
        1            /usr/bin/php7.4   74        manual mode
        2            /usr/bin/php8.1   81        manual mode
        3            /usr/bin/php8.2   82        manual mode
      
      Press <enter> to keep the current choice[*], or type selection number:

      Въведете номера, съответстващ на желаната версия, и натиснете Enter.

      Стъпка 4: Превключване на PHP версия за Apache (mod_php)

      # Disable current PHP module (e.g., PHP 8.1)
      sudo a2dismod php8.1
      
      # Enable new PHP module (e.g., PHP 8.2)
      sudo a2enmod php8.2
      
      # Restart Apache
      sudo systemctl restart apache2

      Стъпка 5: Превключване на PHP версия за Nginx (PHP-FPM)

      За Nginx, PHP се обработва чрез PHP-FPM. Актуализирайте вашия Nginx server блок, за да сочи към правилния FPM сокет:

      # In your Nginx server block configuration
      location ~ .php$ {
          fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      }

      След това рестартирайте както PHP-FPM, така и Nginx:

      sudo systemctl restart php8.2-fpm
      sudo systemctl restart nginx

      CentOS / RHEL / AlmaLinux / Rocky Linux — Използване на SCL или Remi хранилище

      Опция A: Използване на Software Collections (SCL) — CentOS 7

      # Install the SCL repository
      sudo yum install -y centos-release-scl
      
      # Install PHP 7.4 via SCL
      sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
      
      # Enable PHP 7.4 for the current session
      sudo scl enable rh-php74 bash
      
      # Verify
      php --version

      > Забележка: SCL промените са специфични за сесията. За да ги направите постоянни за потребител, добавете source /opt/rh/rh-php74/enable към ~/.bashrc.

      Опция B: Използване на Remi хранилище — CentOS 7/8, AlmaLinux, Rocky Linux

      # Install EPEL and Remi repositories
      sudo dnf install -y epel-release
      sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm  # For RHEL 8/AlmaLinux 8
      
      # List available PHP streams
      sudo dnf module list php
      
      # Reset current PHP module
      sudo dnf module reset php
      
      # Enable PHP 8.2 stream
      sudo dnf module enable php:remi-8.2
      
      # Install PHP 8.2
      sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
      
      # Verify
      php --version

      Превключване на PHP за отделни сайтове (PHP версия за всеки сайт)

      На сървъри, работещи с множество уебсайтове, често се нуждаете от различни PHP версии за всеки сайт. Най-чистият подход е да работите с множество PHP-FPM пулове:

      # Start PHP-FPM for multiple versions
      sudo systemctl start php7.4-fpm
      sudo systemctl start php8.1-fpm
      sudo systemctl start php8.2-fpm

      След това конфигурирайте всеки Nginx виртуален хост да използва различен FPM сокет:

      # Site A — PHP 8.2
      server {
          server_name site-a.com;
          root /var/www/site-a;
          location ~ .php$ {
              fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
          }
      }
      
      # Site B — PHP 7.4 (legacy application)
      server {
          server_name site-b.com;
          root /var/www/site-b;
          location ~ .php$ {
              fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
          }
      }

      6. Method 4: Changing PHP Version via php.ini

      В някои хостинг среди, особено тези, които използват CGI или FastCGI PHP handlers, можете да влияете на PHP поведението — и понякога дори на версията — чрез персонализиран php.ini файл, поместен в коренната директория на вашия уебсайт.

      Създаване на персонализиран php.ini

      1. Създайте файл с име php.ini в коренната директория на вашия уебсайт (public_html).
      2. Добавете вашите директиви за конфигурация:
      ; Custom PHP configuration
      memory_limit = 256M
      upload_max_filesize = 64M
      post_max_size = 64M
      max_execution_time = 300
      max_input_vars = 3000
      date.timezone = "UTC"

      > Забележка: Този метод контролира PHP *настройки*, не непременно PHP *версия*. Избор на версия чрез php.ini е възможен само при специфични хостинг конфигурации. За пълен контрол на версията, използвайте cPanel, .htaccess, или методите от командния ред, описани по-горе.

      7. Как да проверите активната PHP версия

      След всички промени винаги проверете дали е активна правилната PHP версия. Има няколко начина да направите това:

      Метод A: Създайте тестова страница phpinfo()

      1. Създайте нов файл с име phpinfo.php в вашата основна директория на уеб сайта (public_html).
      2. Добавете следното съдържание:
      <?php
      phpinfo();
      ?>
      1. Отворете https://yourdomain.com/phpinfo.php в браузъра си.
      2. Страницата ще покаже подробна информация за конфигурацията на PHP. PHP версията е показана в самия връх.

      > Предупреждение за безопасност: Изтрийте този файл незабавно след тестване. Изходът на phpinfo() разкрива чувствителни детайли за конфигурацията на сървъра, които биха могли да помогнат на нападатели.

      Метод B: Проверка чрез командния ред (SSH)

      php --version
      # or
      php -v

      Очакван резултат:

      PHP 8.2.10 (cli) (built: Sep  5 2023 08:12:49) (NTS)
      Copyright (c) The PHP Group
      Zend Engine v4.2.10, Copyright (c) Zend Technologies
          with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

      Метод C: Проверка чрез прост PHP скрипт

      За по-кратка проверка, използвайте този минимален скрипт вместо пълния phpinfo():

      <?php
      echo 'PHP Version: ' . PHP_VERSION;
      echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
      echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
      ?>

      Метод D: Проверка чрез WordPress администрация (за WordPress сайтове)

      В вашия WordPress панел:

      1. Отидете на Инструменти → Здравословно състояние на сайта.
      2. Кликнете на раздела Информация.
      3. Разширете раздела Сървър.
      4. Потърсете PHP версия.

      8. Често срещани грешки при преминаване между PHP версии

      Преминаването между PHP версии понякога може да причини проблеми. Ето най-често срещаните проблеми и как да ги разрешите:

      Грешка 1: Бял екран на смърт (WSOD) или празна страница

      Причина: Плъгин, тема или персонализиран код използва синтаксис или функции, които са несъвместими с новата PHP версия.

      Решение:

      • Активирайте режима за отладка на WordPress, като добавите към wp-config.php:
        define('WP_DEBUG', true);
        define('WP_DEBUG_LOG', true);
        define('WP_DEBUG_DISPLAY', false);
      • Проверете /wp-content/debug.log за конкретни съобщения за грешки.
      • Деактивирайте всички плъгини и преминете към тема по подразбиране, за да изолирате проблема.

      Грешка 2: 500 Вътрешна грешка на сървъра

      Причина: Често причинена от неправилен PHP обработчик в .htaccess или PHP разширение, което не е инсталирано за новата версия.

      Решение:

      • Премахнете или коригирайте директивата AddHandler в .htaccess.
      • Проверете журнала на грешките на вашия сървър: tail -f /var/log/apache2/error.log или tail -f /var/log/nginx/error.log.
      • Убедете се, че необходимите PHP разширения са инсталирани за новата версия.

      Грешка 3: “Call to undefined function” или “Class not found”

      Причина: PHP разширение, необходимо за вашето приложение (например php-gd, php-mbstring, php-xml), не е инсталирано за новата PHP версия.

      Решение:

      # Ubuntu/Debian — install missing extensions for PHP 8.2
      sudo apt install php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
      
      # Restart web server
      sudo systemctl restart apache2  # or nginx

      Грешка 4: Предупреждения за остаревши функции

      Причина: Вашият код използва функции, които бяха остаревши в по-старите PHP версии и премахнати в по-новите (например функции mysql_* премахнати в PHP 7.0).

      Решение:

      • Актуализирайте вашия код или плъгини, за да използват съвременни еквиваленти (например mysqli_* или PDO).
      • Ако незабавните промени в кода не са възможни, помислете да останете на съвместима PHP версия временно, докато планирате надстройката.

      Грешка 5: PHP версията не се променя въпреки следване на стъпките

      Причина: Множество PHP конфигурации могат да бъдат в сила (например CLI срещу уеб сървър) или кеширането обслужва стари отговори.

      Решение:

      • Изчистете кеша на браузъра и всички кешове на страната на сървъра (OPcache, Redis, Varnish).
      • Рестартирайте вашия уеб сървър: sudo systemctl restart apache2 или sudo systemctl restart nginx.
      • Потвърдете, че редактирате правилния .htaccess или конфигурационен файл за правилния домейн.

      9. Най-добри практики за управление на PHP версии

      Следвайте тези насоки, за да поддържате здрава, безопасна и производителна PHP среда:

      1. Винаги тествайте първо в среда за подготовка

      Никога не превключвайте PHP версии директно на живия производствен сайт. Настройте среда за подготовка — или поддомен, или отделен сървър — и тествайте приложението си внимателно, преди да прилагате промени в производството.

      2. Поддържайте PHP актуализиран

      Абонирайте се на официалните съобщения за безопасност на PHP и планирайте надграждане, преди текущата версия да достигне End of Life. Работата с EOL PHP версии е една от най-честите причини за компрометиране на уебсайтове.

      3. Одитирайте вашите приставки и зависимости преди надграждане

      Преди надграждане на PHP, проверете съвместимостта на:

      • Всички инсталирани CMS приставки и теми
      • Composer зависимости (composer.json)
      • Персонализиран код на приложението

      Използвайте инструменти като PHPCompatibility (набор от правила за PHP_CodeSniffer), за да сканирате кодовата база за проблеми със съвместимостта.

      4. Поддържайте PHP разширенията синхронизирани

      При превключване между PHP версии винаги преинсталирайте всички необходими разширения за новата версия. Липсващо разширение е най-честата причина за грешки след надграждане.

      5. Използвайте контрол на версиите за конфигурационни файлове

      Съхранявайте вашите .htaccess, php.ini и файлове за конфигурация на сървъра в Git хранилище. Това улеснява връщането на промени, ако нещо се обърка.

      6. Наблюдавайте след превключване

      След промяна на PHP версиите, наблюдавайте:

      • Логове на грешки на приложението
      • Логове на грешки на сървъра (/var/log/apache2/error.log, /var/log/nginx/error.log)
      • Показатели за производителност на приложението
      • Предупреждения за мониторинг на времето на работа

      7. Изберете правилния хостинг за PHP гъвкавост

      Ако се намирате постоянно ограничени от опциите на PHP на вашата хостинг среда, може да е време за надграждане. Планове за споделен уеб хостинг предлагат кураторски набор от PHP версии, управлявани от доставчика, докато VPS хостинг ви дава пълна свобода да инсталирате, конфигурирате и превключвате всяка PHP версия по всяко време. За контрол и производителност на корпоративно ниво, Dedicated сървъри осигуряват максимална гъвкавост.

      10. Заключение

      Промяната на вашата PHP версия е фундаментална задача за управление на хостинг, която директно влияе на сигурността, производителността и съвместимостта на вашия уебсайт. Независимо дали използвате cPanel MultiPHP Manager, редактирате .htaccess директиви или управлявате PHP инсталации чрез командния ред на VPS или dedicated сървър, ключовите принципи остават същите: тестирайте преди развръщане, проверете след промяна и винаги поддържайте вашата PHP версия в активно поддържания жизнен цикъл.

      Ето бързо резюме на методите, които бяха разгледани:

      МетодНай-добре заНеобходим достъп
      cPanel MultiPHP ManagerShared hosting, cPanel VPScPanel вход
      .htaccess директиваApache-базиран shared hostingFile Manager / FTP
      update-alternatives (Ubuntu/Debian)VPS, dedicated сървъриSSH root/sudo
      SCL / Remi repository (CentOS/RHEL)VPS, dedicated сървъриSSH root/sudo
      Custom php.iniCGI/FastCGI средиFile Manager / FTP

      Ако търсите хостинг среда, която прави управлението на PHP версията лесно и ви дава необходимия контрол, изследвайте VPS Hosting планове на AlexHost — с пълен root достъп, множество Linux дистрибуции и гъвкавост да стартирате всяка PHP версия, която вашите приложения изискват. Можете също да изследвате нашия диапазон от VPS Control Panels, за да намерите интерфейса за управление, който най-добре отговаря на вашия работен процес.

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