Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.
Opis w dokumentacji PHP, że dane rozszerzenie „was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0”, ma bardzo konkretne znaczenie i jest częścią szerszej polityki utrzymania kompatybilności wstecznej. „Deprecated” nie oznacza ani wprowadzenia funkcji, ani jej czasowej dostępności między jakimiś wersjami, tylko etap przejściowy: funkcja jeszcze działa, ale jest już oznaczona jako przestarzała i przeznaczona do usunięcia w przyszłej głównej wersji języka. Typowym błędem myślowym jest traktowanie słowa „deprecated” jako „od tej wersji pojawia się funkcja” albo „od tej wersji zaleca się jej używanie”. Jest dokładnie odwrotnie – od tej wersji należy zacząć planować rezygnację z tej funkcji. Dlatego interpretacja, że coś jest „niezalecane w 5.5.0 i dostępne od 7.0.0” kompletnie nie trzyma się kupy, bo „removed in 7.0.0” znaczy fizyczne usunięcie, a nie udostępnienie. Innym częstym nieporozumieniem jest myślenie, że skoro pojawia się ostrzeżenie „deprecated”, to w starszych wersjach (np. 5.4, 5.3) ta funkcja nie istniała. W praktyce bardzo często jest tak, że funkcja działała od dawna, w 5.5 została oznaczona jako przestarzała, a dopiero w 7.0 znikła – więc stwierdzenie, że jest „niemożliwa w 5.5.0 lub starszych i dostępna dopiero od 7.0.0” odwraca chronologię do góry nogami. Pojawia się też błędne założenie, że komunikat określa dokładnie zakres wersji, w których funkcja jest dostępna, np. „od 5.5 do 7.0 włącznie”. Tymczasem słowo „removed” jasno wskazuje, że od podanej wersji w górę funkcji już nie ma. Dobry nawyk w pracy z PHP to: zawsze czytać dokładnie notki w dokumentacji, sprawdzać sekcję „Changelog” i traktować ostrzeżenia o przestarzałości jako sygnał do migracji kodu, a nie jako informację o dodaniu nowej funkcji. Z mojego doświadczenia niedokładne zrozumienie tych komunikatów kończy się tym, że po aktualizacji do PHP 7 lub 8 projekt nagle przestaje działać, bo opierał się na funkcjach formalnie wycofanych kilka lat wcześniej.