Od 5 października klienci cyber_Folks mogą korzystać z wersji beta PHP 8.3. Natomiast 24 listopada wdrożyliśmy oficjalną stabilną wersję. Wraz z jej wydaniem, nasi klienci otrzymali ważne poprawki bezpieczeństwa, ale również kilka nowych funkcji, które opisaliśmy w tym artykule.
Przyjrzeliśmy się nowościom wprowadzonym w PHP 8.3. Sprawdzimy co się zmieniło i co właściwie oznacza to dla Twojej witryny. Czy warto przesiąść się na aktualizacje? Sprawdzimy to na realnym przykładzie. Przeprowadziliśmy też testy wydajności aby wykazać czy nowa wersja wpłynie na wydajność Twojej witryny internetowej.
Z tego artykułu dowiesz się:
- jakie nowości wprowadza PHP 8.3?;
- porównasz kwestie wydajnościowe od PHP 8.1, przez PHP 8.2, aż po najnowszą wersję interpretera – PHP 8.3;
- dlaczego warto aktualizować swoją wersję PHP?;
- które z najpopularniejszych aplikacji wspierają już najnowszą wersję 8.3?;
- jak ustawić wersję php na nowszą w swoim panelu?
Czym właściwie jest PHP?
Zacznijmy od początku. Czym właściwie jest PHP? Mówiąc o PHP (Hypertext Preprocessor) mamy na myśli skryptowy język programowania, stosowany do tworzenia dynamicznych stron internetowych. Jest jednym z popularniejszych i częściej używanych języków programowania. Korzystają z niego również popularne aplikacje, jak WordPress, Joomla czy Drupal.
To dlatego nieodłącznym elementem każdego hostingu jest interpreter PHP, który potrafi odczytać ten język, a następnie wyświetlić stronę internetową użytkownikowi. Pierwsze wersje PHP sięgają roku 1995. Od tamtego czasu regularnie wydawane są nowsze wersje interpretera. Każde następne zawierają ulepszenia w zakresie stabilności i bezpieczeństwa witryn internetowych. Jednocześnie wypierają one stare wersje, które przestają być oficjalnie wspierane po określonym czasie.
Jak to działa?
Kiedy otwierasz daną stronę internetową, wysyłasz żądanie do serwera, którego efektem ma być wyrenderowanie strony internetowej, To, co widzisz w efekcie, jest pochodną tego, co dzieje się pod maską. Rozbijmy ten proces na poszczególne etapy.
- Proces zaczyna się od momentu, gdy użytkownik wpisuje adres danej strony internetowej do przeglądarki lub wykonuje jakąś akcję na stronie, np. klika CTA.
- Przeglądarka wysyła żądanie do serwera, na którym hostowana jest witryna.
- Na serwerze, który obsługuje żądanie, znajduje się interpreter PHP, który przetwarza kod PHP, umieszczony w plikach źródłowych na serwerze.
- Następuje wygenerowanie HTML-u, który jest wysyłany z powrotem do serwera.
- Przeglądarka odbiera kod HTML i renderuje go, co ostatecznie prowadzi do wyświetlenia strony internetowej użytkownikowi.
PHP 8.3 już dostępna na hostingu cyber_Folks
PHP 8.3 to nie tylko poprawki bezpieczeństwa, które eliminują potencjalne ryzyka, ale również zbiór ulepszeń w zakresie wydajności witryn internetowych. Każda aktualizacja PHP to rezultat intensywnych prac społeczności programistycznej, skupionej na wprowadzaniu zmian i dostosowywania języka do obserwowanych na rynku nowych wyzwań.
W cyber_Folks dążymy do zapewnienia najwyższych standardów bezpieczeństwa dla naszych użytkowników. Dlatego też, po oficjalnym wydaniu, natychmiast udostępniamy najnowszą wersję PHP, czyli PHP 8.3, na naszym hostingu. Ten krok ma na celu nie tylko umożliwienie korzystania z najnowszych funkcji językowych i usprawnień wydajności, ale przede wszystkim zapewnienie solidnych fundamentów bezpieczeństwa dla aplikacji klientów.
Nowa wersja PHP 8.3 stanowi znaczący krok naprzód w rozwoju tego języka, wprowadzając istotne poprawki wydajnościowe, optymalizacje oraz usprawnienia. To istotne osiągnięcie, biorąc pod uwagę, że PHP przez wielu był często niedoceniany w porównaniu do innych języków programowania. Dzięki nim, PHP kontynuuje ewolucję jako stabilny i wydajny język programowania. Udoskonalenia te wspierają rozwój aplikacji oraz ułatwiają programistom pracę, zapewniając wyższą jakość kodu i zwiększając efektywność procesu tworzenia aplikacji.
Łukasz Marcola, Dział Rozwoju cyber_Folks
Co nowego w PHP 8.3?
PHP 8.3 to najnowsze i oczekiwane wydanie tego popularnego języka programowania. Znajdziemy w nim szereg nowości, funkcji językowych oraz usprawnień wydajnościowych, które sprawiają, że strona internetowa jest nie tylko bezpieczniejsza, ale również bardziej wydajna. Co właściwie zmieniło się względem poprzednich wydań interpretera? Sprawdźmy.
Ujemne indeksy w tablicach
W języku PHP oraz w wielu innych językach programowania, tablice indeksowane są od zera. Jednak PHP pozwala także na korzystanie z ujemnych indeksów w tablicach. Dotychczas po dodaniu do tablicy elementu o ujemnym indeksie a następnie dodaniu kolejnego elementu, ten drugi zawsze zaczynał się od indeksu 0. Od PHP 8.3 będzie on dodawany z kolejny indeksem następującym po poprzednim.
Obsługa wartości awaryjnych
Wartości awaryjne, znane również jako wartości null, są tym elementem, które pomagają w obszarze obsługi błędów i niwelowaniu niepewności w programowaniu. W PHP 8.3 wprowadzono kilka interesujących funkcji i usprawnień związanych z obsługą wartości awaryjnych. Dodano ich obsługę dla zmiennych środowiskowych PHP INI.
Możliwość lintowania
Mówiąc o lintowaniu, odnosimy się do analizy kodu źródłowego celem wykrywania potencjalnych błędów i nieścisłości z przyjętym standardem kodowania. Dotychczas lintowanie odnosiło się do jednego pliku php. Obecnie, wraz z wersją PHP 8.3, taka możliwość dotyczy kilku plików jednocześnie.
Obsługa ostrzeżeń
Poprzez ostrzeżenia, rozumiemy komunikaty generowane przez interpreter PHP w trakcie wykonywania skryptu. Ich zadaniem jest poinformowanie o potencjalnych problemach w kodzie. Ostrzeżenia są rodzajem błędów, które nie powodują zatrzymania wykonania skryptu, ale zwracają uwagę na potencjalne sytuacje wymagające rozwiązania.
W PHP 8.3 dopracowano obsługę ostrzeżeń i błędów w niektórych funkcjach. Wśród nich m.in.:
- poprawiona obsługa błędów funkcji
unserialize()
Teraz w przypadku pojawienia się błędu, zamiast komunikatu E_NOTICE wyświetlane jest ostrzeżenie E-WARNING.
Nowe wyjątki obsługi daty i czasu
PHP regularnie udoskonala swoje funkcje związane z datą i czasem. W wersji 8.3 oznacza to zastąpienie obecnie używanych ogólnych ostrzeżeń, błędów i wyjątków w PHP bardziej wyspecjalizowanymi w kontekście obsługi daty i czasu. Celem tego kroku jest podniesienie poziomu szczegółowości oraz usprawnienie obsługi wyjątków związanych bezpośrednio z operacjami na datach i godzinach. Wraz z wersją PHP 8.3., pojawiają się nowe wyjątki obsługi dat oraz czasu: DateMalformedIntervalStringException, DateInvalidOperationException oraz DateRangeError. Nowo dodane wyjątki stanowią część podklasy ogólnych klas Exception oraz Error.
Nowa funkcja json_validate()
Funkcja json_validate() służy do sprawdzania, czy ciąg znaków zawiera prawidłowy kod JSON. Dotychczas, żeby tak się stało, należało zdekodować i zwalidować format. Od wersji 8.3 stało się to znacznie prostsze. Nowa metoda json_validate() pozwala na ocenę danych wejściowych pod kątem prawidłowości formatu JSON przy jednoczesnym zużywaniu mniejszej ilości pamięci w stosunku do dekodowania ciągu. Oznacza to, że jest bardziej wydajny niż json_decode().
Testy wydajnościowe PHP 8.3
Z myślą o zapewnieniu optymalnych warunków dla naszych klientów, przeprowadziliśmy szczegółowe testy wydajnościowe na naszym hostingowym środowisku. W ramach tych testów, uruchomiliśmy trzy różne wersje interpretatora PHP: 8.1, 8.2 i najnowsze, 8.3. Jak wypada ten test? Sprawdźmy.
Dla każdej z wersji narzuciliśmy wykonanie określonych zadań, a następnie zmierzyliśmy czas, w którym nasze środowisko poradziło sobie z ich wykonaniem z rozróżnieniem wersji PHP. Uśredniliśmy wyniki i prezentujemy je na powyższym wykresie. Czas realizacji zadań arytmetycznych zaprezentowany dla poszczególnych wersji PHP użytych w teście wydajnościowym jednoznacznie wykazał, że PHP 8.3 odnotowuje najlepszy czas wykonania żądań. Im mniejszy czas potrzebny na realizację, tym lepiej.
PHP 8.3 – na jakich aplikacjach jest już dostępna?
Php 8.3 to bez wątpienia nowość i wszystkie liczące się CMSy i oprogramowania będą w najbliższym czasie aktualizowane, aby zapewnić zgodność i wsparcie. Pamiętajmy, że wsparcie dla starych (legacy) wersji php jest sukcesywnie wygaszana. Jak to wygląda obecnie?
Aplikacja | PHP 8.3 |
---|---|
WordPress | tak |
PrestaShop | nie |
Joomla | nie |
Drupal | w trakcie implementacji |
Moodle | w trakcie implementacji |
Jak ustawić PHP 8.3 na hostingu cyber_Folks?
Każda nowa wersja PHP wprowadza poprawki bezpieczeństwa, naprawiając znalezione luki i błędy. Utrzymywanie najnowszej wersji PHP jest kluczowe dla zabezpieczenia Twojej witryny przed potencjalnymi atakami i zagrożeniami. Dodatkowo, jak pokazały nasze testy wydajnościowe, wersja interpretera wpływa również na osiągi witryny, a tym samym jej odbiór przez klientów.
W cyber_Folks aktualizacji PHP możesz dokonać w panelu DirectAdmin bądź bezpośrednio w pliku .htaccess.
Zmiana wersji PHP w panelu DirectAdmin
Zmiana wersji PHP w pliku .htaccess
Wprowadzenie najnowszej wersji PHP 8.3 na naszych hostingach to krok ku bezpiecznemu, wydajnemu i efektywnemu rozwijaniu strony internetowej. PHP 8.3, z pełnym wsparciem dla nowych funkcji językowych, poprawek bezpieczeństwa oraz usprawnień wydajnościowych, otwiera nowe możliwości dla twórców stron internetowych.
Zmiany w wydajności PHP 8.3 w porównaniu do 8.1 robią wrażenie, aż chce się aktualizować! Fajnie, że tak szybko udostępniacie nową wersję swoim klientom, ja jednak chyba nieco się wstrzymam i dam trochę czasu autorom wtyczek wp na dopasowanie się 🙂