Migracja do PHP 5.6
Każdy kto posiada i opiekuje się swoją stroną internetową wie, że co jakiś czas na serwerze administratorzy muszą aktualizować oprogramowanie, aby serwer był bezpieczny oraz aby naprawić luki bezpieczeństwa czy też inne błędy w funkcjonowaniu. Takie zamiany wiążą się z tym, że musimy cały czas dbać o nasze strony i serwisy aby zapewnić im nieprzerwane działanie.
Poniżej przedstawiam kilka sytuacji z którymi osobiście się spotkałem oraz rozwiązania jakie wprowadziłem aby te problemy rozwiązać.
Funkcja ereg
Najlepiej przedstawić na przykładach:
ereg(’\.([a-z]*$)’, $value1, $value2);
zmieniamy na:
preg_match(’/\.([a-z]*$)/’, $value1, $value2);
Tagi otwierające PHP
Aby zapobiec problemom w przenoszeniu witryn pomiędzy platformami, przestał być wspierany krótki tag otwierający dla skryptów.
Tagi <??>
zmieniamy na:
<?php ?>
Funkcje rozpoczynające się od mysql_
Funkcje służące do łączenia się z bazą danych MySQL zaczynające się od: „mysql_” … zostały zastąpione bardziej wydajnymi zaczynającymi się na: „mysqli_”.
Usunięcie modułu safemode
Został usunięty tryb safe mod teraz teraz są jednolite ustawienia.
Usunięcie opcji register globals
Usunięte zostały zmienne typu register globals. Należy korzystać z predyfiniowanych zmiennych globalnych np: $_POST, $_GET, $GLOBALS, $_SERVER, $_FILES itp.
Pozostałe funkcje / opcje
- Usunięcie mbstring.script_encoding – należy używać zend.script_encoding
- call-time przekazywany przez referencje został usunięty
- zasoby GMP są obiektami
- stream wrappers dokonują weryfikacji certyfikatu i nazwy hosta podczas używania SSL/TLS
- dalsze poprawki wydajności i bezpieczeństwa
Podsumowanie
Zmiany nie są duże ale w wielu przypadkach bardzo znaczące i niekiedy trzeba wykonać sporo pracy aby strony internetowe działały nieprzerwanie.
Warto też wspomnieć iż w wersji PHP która już jest w wersji rozwojowej nie będzie obsługiwała już funkcji, które były już przestarzałe w poprzednich wersjach PHP.
Przedstawiłem różnice z którymi ja sam się spotkałem i które poprawiałem w związku ze zmianami wersji PHP. Jeśli chcesz poznać wszystkie możliwe szczegóły i różnice to możesz je przeczytać pod adresem:
http://php.net/manual/en/migration56.php