Różnice między wersjami PHP dostępnymi w PHP Selectorze na hostingu Drukuj

  • 39

Konta hostingowe w Kylos.pl wyposażone są w PHP Selector, który umożliwia zmianę wersji PHP na poziomie danego konta hostingowego. Na każdym koncie hostingowym dostępne są następujące wersje PHP:
  • PHP 5.3
  • PHP 5.4
  • PHP 5.5
  • PHP 5.6
  • PHP 7.0
  • PHP 7.1
  • PHP 7.2 (wersja domyślna)
  • PHP 7.3
  • PHP 7.4
  • PHP 8.0
  • PHP 8.1

Zmiany wersji PHP oraz ustawień należy dokonać z poziomu cPanelu:

Jaką wersję PHP wybrać?
Jeżeli strona korzysta z popularnego CMS'a typu Wordpress, Joomla, Prestashop to informacje na temat zalecanych wersji PHP, można znaleźć w wymaganiach aplikacji dostarczanej przez twórców. Jeżeli korzystamy z aktualnych wersji oprogramowania typu CMS to zmiana wersji PHP na nowszą nie powinna stanowić problemu.
Niestety w przypadku stosowania starych wersji CMSów albo komercyjnie tworzonych stron na zamówienia, które są oparte na autorskich rozwiązaniach, wybór odpowiedniej wersji PHP może decydować o działaniu lub nie działaniu aplikacji. Poniżej opisane zostały najważniejsze różnice w poszczególnych wersjach PHP pod kątem wstecznej kompatybilności.
Warto wziąć pod uwagę, że nowsze wersje PHP zapewniają poprawione lub rozbudowane funkcje, które nie były dostępne w starszych wersjach. Dodatkowo z każdym nowym wydaniem interpretera PHP, poprawiana jest również jego wydajność.

PHP 5.3
Pierwsze wydanie PHP z tej serii zostało wydane w 2009 roku i wprowadza ono kilka istotnych zmian w porównaniu z wersją PHP 5.2. Obecna wersja z tej gałęzi to PHP 5.3.29 – nie będzie już dalszych wydań PHP z tej serii, ponieważ wersja nie jest już wspierana przez twórców. Na hostingu Kylos.pl PHP 5.3 jest ciągle dostępne ze względu na to, że wiele aplikacji ciągle wymaga tej wersji do działania.
Większość kodu napisanego dla wersji PHP 5.2 powinna działać z wersją PHP 5.3, poniżej znajdują się zmiany, które nie są wstecznie kompatybilne.
  • Funkcja clearstatcache() nie czyści domyślnie realpath cache.
  • Funkcja realpath() jest w pełni niezależna od platformy. W konsekwencji powoduje to, że względne ścieżki w postaci __FILE__.''/../x” nie będą działać.
  • Namespace – wprowadzenie tej funkcji umożliwiło tworzenie oddzielnych nazw dla poszczególnych klas, funkcji i stałych, co zwiększa przejrzystość pisanego kodu.
  • Usunięcie trybu Safe Mode.
  • Funkcje z rodziny call_user_func() propaguja wskaźnik $this, nawet w sytuacji gdy wywoływana jest klasa rodzica.
  • Funckje tablicowe natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip() i array_unique() nie akceptują obiektów przekazywanych jako argumenty. W celu zastosowania tych funkcji do obiektów, należy umieścić te obiekty w tablicy.
  • Nowa bilbioteka „mysqlnd” wymusza stosowanie 41-bitowego formatu hasła. Używanie hasła 16-bitowego spowoduje, że mysql_connect() i inne podobne funkcje zwrócą błąd „mysqlnd cannot connect to MySQL 4.1+ using old authentication”.
  • Nowsza bliobteka mysqlnd nie czyta konfiguracji MySQL z plików my.cnf/my.ini jak robiła to starsza biblioteka libmysqlclient.
  • PHP 5.3 to również ostatnia wersja posiadająca wsparcie dla register_globals oraz magic_quotes.

Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.


PHP 5.4
Najstarsza obecnie wspierana wersja PHP to 5.4 – jest ona ustawiona domyślnie na kontach hostingowych w Kylos.pl. Ostatnie wydanie to PHP 5.4.41 wydane 14.05.2015. PHP 5.4 cechuje się również poprawiona wydajnością w stosunku do starszych wersji. Najważniejsze zmiany w tej wersji pod kątem wstecznej kompatybilności:
  • Usunięte trybu Safe Mode.
  • short_open_tag domyślnie aktywny.
  • Wprowadzenie Short Array Systax co umożliwia zapis tablic w formie [] zamiast array().
  • Usunięcie magic_quotes.
  • Usunięcie register_globals i register_long_arrays z konfiguracji php.ini.
  • Usunięcie mbstring.script_encoding – należy używać zend.script_encoding.
  • call-time przekazywany przez referencje został usunięty.

Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.


PHP 5.5
Pierwsze wydanie z tej serii Php 5.5.0 miało miejsce 20.06.2013. Obecnie najnowszą wersją jest 5.5.25, która została wydana 14.05.2015.
Najważniejsze nowości oraz zmiany w stosunku do PHP 5.4:
  • Dodanie rozszerzenia Zend Opcache w standardzie jako akceleratora PHP.
  • Usunięcie PHP logo GUID's.
  • Zmiany w funkcjach pack() i unpack() – użycie formatu „Z”, który działa tak samo jak „a” w starszych wersjach.

Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.


PHP 5.6
Pierwsze wydanie z tej serii miało miejsce 24.08.2014, najnowszą wersją z tej gałęzi jest PHP 5.6.9 wydane 14.05.2015. PHP 5.6 nie wprowadza, aż tylu istotnych zmian, w porównaniu do poprzednich gałęzi PHP. Większość kodu poprawnie działającego na wersji PHP 5.5 zadziała również z wersją PHP 5.6.
Poniżej lista najbardziej istotnych zmian w tej gałęzi:
  • Zasoby GMP są obiektami.
  • Stream wrappers dokonują weryfikacji certyfikatu i nazwy hosta podczas używania SSL/TLS.
  • Dalsze poprawki wydajności.
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

PHP 7.0
Pierwsze wydanie wersji 7.0 nastąpiło 3.12.2015. Wprowadzono wiele istotnych zmian w porównaniu do poprzednich wersji. Przełączenie pomiędzy starszą wersją, a 7.0 należy wykonać po analizie dokumentacji, ponieważ aplikacje mogą nie działać prawidłowo. Najważniejsze zmiany:
  • Większa wydajność.
  • Pojawienie się operatora porównania.
  • Możliwość deklarowania funkcji z wymogiem zwracania konkretnego typu danych.
  • Wszystkie deprecjonowane funkcje w poprzednich wersjach zostały wyłączone.
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

PHP 7.1
Wersja PHP 7.1 wprowadza szereg nowych funkcji i kilka niezgodności, które powinny być przetestowane przed zmianą wersji PHP w środowiskach produkcyjnych.
 
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

PHP 7.2 (wersja domyślna)
Wersja PHP 7.2 (tak samo jak 7.1) wprowadza nowe funkcje i kilka poprawek, które zanim zostaną wprowadzone na serwerze docelowym, warto przetestować na środowisku testowym.
 
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

PHP 7.3
Wersja PHP 7.3 wprowadza zupełnie nowe funkcje jak również kilka poprawek, które dobrze by było sprawdzić zanim zostaną one wdrożone na serwerze w środowisku produkcyjnym.
 
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.
 
PHP 7.4
Tak samo jak miało to miejsce w poprzednich wersjach 7.x, również i ta wersja wprowadziła poprawki do swojego poprzednika. Pojawiły się również kolejne funkcjonalności, które nie na każdej aplikacji będą działać, a więc przed wprowadzeniem zmian, należy sprawdzić je w środowisku testowym.

Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

PHP 8.0
PHP w wersji 8.0 rozwija się również prężnie jak i poprzednie wersje. Również i tym razem pojawiły się nowe funkcjonalności, zostały usunięte błędy które były zgłaszane w poprzedniej wersji oraz zostały usunięte niektóre udogodnienia, które działały w starszych wersjach PHP.
Dostawca zaznacza, że przed wprowadzeniem zmian na produkcję, rekomenduje ich sprawdzenie w środowisku testowym.
 
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

PHP 8.1
Wersja ta jest poprawiła błędy, które miały miejsce w poprzednich wersjach PHP, ale to dodało nowe klasy, zmienne globalne czy funkcjonalności.
Dostawca jak zawsze prosi, aby przed wprowadzeniem zmian na produkcję sprawdzić je w środowisku testowym.
 
Więcej informacji na temat zmian można znaleźć w dokumentacji PHP.

Czy ta odpowiedź była pomocna?

« Powrót