Jak wiadomo funkcja register_globals w PHP 5.3 została zdeprecjonowana a w PHP 5.4 została usunięta całkowicie. Dla wielu projektantów witryn którzy są leniwi tak jak ja lub uznają że nie ma sensu przepisywać kodu aplikacji tak żeby ominąć brak register_globals przygotowałem krótki poradnik jak wykonać operację instalacji PHP 5.3.3 na Debianie 7 Whezzy.
Po pierwsze musimy dodać następujące linie z repozytoriami do /etc/apt/sources.list.
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
Potem należy utworzyć w /etc/apt/preferences.d/ plik (nazwa nie ma znaczenia) w którym powiemy naszemu serwerowi z jakich repozytoriów ma korzystać
przy instalacji PHPa.
W pliku umieszczamy następującą zawartość (u mnie tyle wystarczyło):
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
Zapisujemy plik i wykonujemy update:
apt-get update
Potem możemy już wpisać sobie (upraszczając oczywiście):
apt-get install php5
I po chwili powinniśmy mieć zainstalowanego php w wersji 5.3.3
Teraz żeby zadziałało register_globals należy przede wszystkim w pliku php.ini (/etc/php5/apache2/php.ini) zmienić linijkę:
register_globals = Off
na
register_globals = On
oraz w tym samym pliku należy zmienić error_reporting
error_reporting = E_ALL & ~E_DEPRECATED
i usuwamy E_DEPRECATED
restartujemy apache2:
/etc/init.d/apache2 restart
i już nasze register_globals powinno działać