Aktualizacja PHP po co to i dlaczego warto (nie chodzi tylko o tańszy hosting).

Aktualizacja PHP po co to i dlaczego warto (nie chodzi tylko o tańszy hosting).

Panuje przekonanie, że z każdą aktualizacją coś nowego może być zepsute, stara wersja ma znane błędy, a wprowadzanie zmian wiąże się z ryzykiem. Dlaczego warto aktualizować wersje PHP i jak to robić bez uszczerbku dla stabilności aplikacji czy strony www oraz jej większej wydajności? Sprawdź.

W programowaniu, już na studiach wiedzieliśmy czym charakteryzują się nowe wersje oprogramowania, mianowicie w nowej wersji:

  1. Zmieniany jest numerek, czasami z przodu, czasami z tyłu.
  2. Stare błędy zastępowane są nowymi.

I choć to wszystko może być prawdą, najczęściej jednak nowa wersja to sporo ciekawych nowości (nowe funkcje), przyśpieszeń oraz zwiększone bezpieczeństwo. PHP jeśli jesteś kimś kto obraca się wśród programistów jest językiem, który przez wiele lat był traktowany jako zło konieczne, głównie przez popularność jaką dał mu WordPress. To, że był nielubiany przez programistów (tych prawdziwych oczywiście) miało pewne uzasadnienie. 

Głównymi problemami były:

  1. Brak spójności 
    • w nazewnictwie, np. funkcje mogą mieć nazwy pisane w stałości (strlen) lub z podkreślaniem (json_decode), 
    • w kolejności parametrów przekazywanych podobnych funkcji np. igła w stogu siana raz jest pierwszym argumentem a raz drugim, needle czy heystack ,in_array  strstr 
  2. Bezpieczeństwo - dzięki luźnej składni można powiedzieć, że PHP promował niebezpieczne praktyki programowania, SQL injections ("wstrzykiwanie złośliwego kodu"), łączenie wielu języków w jednym pliku oraz nie filtrowane dane wejściowe użytkownika. 
  3. Słabe powiązanie powodowało niespodziewane rezultaty np. "123abc" == 123, dawało poprawny rezultat (prawda).

Dlaczego warto aktualizować?

Nadchodzi nowe, czas na zmiany. A wśród nich

Lepsza wydajność.

PHP 8 wprowadził znaczne ulepszenia wydajności głównie dzięki znanemu z języka Java mechanizmowi kompilacji JIT (just in time).

OK, ale jaki to ma wpływ na cele biznesowe? Wyobraź sobie czas oczekiwania na wczytanie się elementów strony czy obliczenie czasu zamówienia. Im dłużej twój klient lub potencjalny klient czeka, tym większe szanse, że się znudzi i opuści stronę. Zacznie oglądać tik toki czy Instagram, a Ty być może stracisz pieniądze. 

20%

Więcej obsłużonych zapytań dla WooCommerce 7.9.0 na WordPress 6.2.2. 

13% więcej zapytań

PHP 8.3 (169 zapytań/s) osiągnął wzrost wydajności w stosunku do PHP 7.4 (149 zap./s) dla WordPress 6.4.2 (testowane 52.684 MB danych).

Poza lepszym doświadczeniem użytkownika dodatkowym autem są niższe koszty utrzymania serwerów. Teraz tym bardziej, kiedy firmy hostingowe zwiększają opłaty za obsługę starszych wersji, zmiana może się opłacać jeszcze bardziej. Zmiana ta nie jest tylko podyktowana chęcią większego zarobku ze stron firm hostingowych ale powodem numer 2...

Zwiększone bezpieczeństwo.

Wymienione wyżej problemy zostały potraktowane poważnie, w nowych wersjach PHP, jednymi z kluczowych zmian są:

  • bezpieczeństwo typów - zwiększone jest wymuszenie typów tj. jeśli zmienna jest liczbą to nie może być dowolnie zmieniona w ciąg znaków, czy wartość logiczną (prawda/fałsz) 
  • ulepszone zarządzanie błędami - PHP 8 ogranicza użycie operatora @ (możliwość ukrycia informacji zwrotnej w kodzie, która może powodować błędy w przyszłości), promuje wyjątki zamiast ostrzeżeń - co pozwala na lepsze tworzenie kodu który będzie uruchomiony gdy coś się wydarzy nieprzewidzianego lub niechcianego
  • Ulepszenia w kwestii filtrowania (sanityzacji) danych - zwiększona rygorystyczność

Korzyści dla biznesu wynikające z większego bezpieczeństwa są oczywiste, ale gdyby jednak ktoś się zastanawiał to mniejsza podatność na ataki, włamania i wycieki danych to tylko kilka z nich. 


Jakie są ryzyka związane z brakiem aktualizacji PHP?

PHP 7.4 zakończył swój cykl życia to oznacza, że nie będą już wydawane poprawki bezpieczeństwa (praktyka typowa po wypuszczeniu nowej wersji to wypuszczanie poprawek bezpieczeństwa, tak aby starsza wersja pomimo braku nowych funkcji była aktualizowana w tym kluczowym aspekcie).

Wydajność a raczej jej spadek...

Spadek wydajności... to, że aplikacja działa wydajnie na starszej wersji nie oznacza, że zawsze tak będzie. Z oprogramowaniem często jak z samochodami, po jakimś czasie zaczynają zwalniać, czy to z powodu przeładowania danymi, czy dodawaniem nowych funkcji (pomijam tutaj fakt, że co jakiś czas i tak wypada sprawdzać aplikację pod kątem aktualizacji, co też może powodować problemy z wydajnością).

Problemy z kompatybilnością.

Z czasem nowe biblioteki instalowane na systemie mogą powodować problemy ze starszymi wersjami PHP. Wtedy trzeba szukać rozwiązania "na około", które marnuje czas i może spowodować niespodziewane konsekwencje.  

Aktualizując np. Wordpress, aplikację opartą o Laravel lub inny framework warto zobaczyć czy wspiera lub do jakiego stopnia i jak długo będzie wspierać starszą wersję PHP, jakie pojawiają się problemy przy aktualizacji i czy w ogóle aplikacja działa poprawnie.

Wniosek.

Aktualizacja wersji PHP Twojej strony internetowej czy aplikacji może mieć kluczowe znaczenie dla poprawy jej wydajności, bezpieczeństwa, a dla Ciebie oszczędności w kosztach hostingu.