LINUX.ORG.RU

debian 6 update to 7, проблема с php

 , ,


0

1

обновил debian

6.0.10 -> 7.6

обновлял по инструкции с debian.org. обновление прошло успешно, но

# dpkg -l php5
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version             Architecture        Description
+++-=============================-===================-===================-===============================================================
ii  php5                          5.4.4-14+deb7u14    all                 server-side, HTML-embedded scripting language (metapackage)

# php -v
PHP 5.3.4 (cli) (built: Jun 14 2011 14:35:43) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

что это значит? как получить php 5.4?


Ответ на: комментарий от kostik87

debian6: /etc/apt/sources.list:

deb http://mirrors.kernel.org/debian squeeze main
deb-src http://mirrors.kernel.org/debian squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://mirrors.kernel.org/debian squeeze-updates main
deb-src http://mirrors.kernel.org/debian squeeze-updates main

# squeeze-lts
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

apt-get update
apt-get upgrade

ничего не обновилось при этом

проверил наличие пакетов в ошибочных состояниях или зафиксированых пакетов

dpkg --audit
dpkg --get-selections | grep 'hold$'
не было таких

заменил /etc/apt/sources.list:

deb http://http.debian.net/debian wheezy main
deb-src http://http.debian.net/debian wheezy main

deb http://http.debian.net/debian wheezy-updates main
deb-src http://http.debian.net/debian wheezy-updates main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

выполнил «минимальное обновление системы»

apt-get update
apt-get upgrade
завершилось без ошибок

далее

apt-get install linux-image-2.6-amd64
update-grub
apt-get install udev
apt-get dist-upgrade

все этапы кроме последнего прошли без ошибок. последний зафейлился так как не мог застартовать mysql из-за устаревших параметров в конфиге, после исправления процесс обновления завершился. перезагрузился

# cat /etc/debian_version 
7.6
# uname -r
3.2.0-4-amd64

проблема только c php

ice-9 ()
Ответ на: комментарий от redgremlin

Покажите:

which php

# which php
/usr/local/bin/php

ну и собственно да:

# /usr/bin/php -v
PHP 5.4.4-14+deb7u14 (cli) (built: Aug 21 2014 08:36:44) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
спасибо

В squeeze php 5.3.3. Откуда ставил? ls -l /usr/bin/php что говорит? update-alternatives --display php ?

вот в squeeze и был php 5.3.3, при dist-upgrade обновился до 5.4.4, но похоже 5.3.4 был как-то из исходников поставлен... (до меня, я не первый там админ)

# ls -l /usr/bin/php
lrwxrwxrwx 1 root root 21 Jun 14  2011 /usr/bin/php -> /etc/alternatives/php
# update-alternatives --display php
php - auto mode
  link currently points to /usr/bin/php5
/usr/bin/php5 - priority 50
  slave php.1.gz: /usr/share/man/man1/php5.1.gz
Current 'best' version is '/usr/bin/php5'.
# /usr/bin/php5 -v
PHP 5.4.4-14+deb7u14 (cli) (built: Aug 21 2014 08:36:44) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

ну и дело как я понимаю в

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

ice-9 ()
Ответ на: комментарий от ice-9

ну и дело как я понимаю в

Дело в том, что вы поставили в обход пакетного менеджера другую версию php, можете просто удалить php из /usr/local/, лучше конечно, если вы сохранили директорию в которой производили сборку php, ведь вы же собирали php из исходников? Если директория есть, то перейдите в неё и выполните:

make uninstall

А так можете, конечно, изменить переменную PATH, но это нужно делать в соответствующем конфигурационном файле вашей оболочки. Лучше всё же удалить другую версию php.

kostik87 ★★★★★ ()

Тред не читай & сразу отвечай

dist-upgrade (apt-get) / full-upgrade (aptitude) делал?

Deleted ()
Ответ на: комментарий от kostik87

спасибо

«в обход пакетного менеджера другую версию php» ставил не я, это было до меня, обнаружил это я уже после обновления

make uninstall

делать пока не стал, руками убрал 5.3 бинарники, чтобы можно было быстро вернуть какой-нить поломаный функционал. исходники нашел из которых ставили, через какое-то время выполню uninstall. еще раз спасибо.

ice-9 ()
Ответ на: комментарий от ice-9

исходники нашел из которых ставили

Нужны не просто исходники, а директория в которой производилась сборка, т.е. директория с исходниками, которые были скофигурированы и затем из низ собран php, вот тогда можно выполнить

make uninstall

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

да, я понимаю. есть директория

/root/php-5.3.4
судя по её содержимому ставилось из неё.

ice-9 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.