Ostatnio wspominałem o tym, że muszę się zaktualizować do PHP5 i ostatecznie w tej wersji pracować, zostawiając przeszłość z PHP4 za sobą. Tak się składa, że na serwerach SX była mała modernizacja. I aktualnie dostęp mam do Debiana na jednej maszynie z php5, a na drugiej z php4. Musiałem tylko na s1 doinstalować sobie php5-cgi :)
W pliku /etc/apt/sources.list
należy dopisać w przypadku braku adresy serwerów dotdeb.org
. W moim przypadku były to mirrory zlokalizowane najbliżej maszyny:
deb http://ftp.endpoint.nu/pub/software/dotdeb/ stable all deb-src http://ftp.endpoint.nu/pub/software/dotdeb/ stable all |
Następnie wykonujemy synchronizację zawartości plików indeksu pakietów z ich źródeł:
# apt-get update |
I teraz spokojnie możemy zaczynać docelową instalację PHP5 w wersji CGI:
# apt-get install php5-cgi |
Po skończeniu pracy mamy możliwość wykonywania skryptów php pod konsolą jako cgi.
W moim przypadku, na php4 miałem pod shellem php (php-cli) i php-cgi, tu pod 5tką mam tylko php-cgi, przy php bash wypluje:
-bash: php: command not found |
Zaistniała taka sytuacja, dlatego iż przy instalacji php4-cgi wersja cli się też instalowała.
Pod php5 trzeba ręcznie:
# apt-get install php5-cli |
Niestety u mnie wystąpił problem z bibliotekami:
php5-cli: Wymaga: libreadline4 (>= 4.3-1) ale nie ma zostać zainstalowany |
Dziwna sytuacja, odruchowo chciałem doinstalować brakującą bibliotekę, niestety poniższy fragment komunikatu z konsoli mnie odwlókł od tego:
Następujące pakiety zostaną USUNIĘTE: bc ftp gdb gnupg liblua50-dev liblualib50-dev libreadline5 lua50 luasocket-dev mysql-client-4.1 mysql-server-4.1 python python-newt python2.3 readline-common reportbug Zostaną zainstalowane następujące NOWE pakiety: libreadline4 |
Zdziwiło mnie to, że chce usunąć m.in. libreadline5, bo to oznacza, że jest ona w systemie skoro zamierza ją wywalić. Więc po jakiego uja php5-cli chce libreadline >= 4.3-1 skoro ma 5tkę? Ahh te dziwne zależności i kompatybilności...