[Решено]
У меня Debian Wheezy с установленным php 5.4.18.
Я хотел обновить его до 5.5.x, но стандартная процедура не работает.
Это мой файл /etc/apt/sources.list:
# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 NETINST Binary-1 20130504-14:43]/ wheezy main
deb http://ftp.pl.debian.org/debian/ wheezy main
deb-src http://ftp.pl.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
# wheezy-updates, previously known as 'volatile'
deb http://ftp.pl.debian.org/debian/ wheezy-updates main
deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main
#php 5.5
deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all
Я обновил источники с
apt-get update
и установлен php5
apt-get install php5
но после перезагрузки httpd у меня все еще есть старая версия php.
php -v
возвращает:
root@xxx:/# php -v
PHP 5.4.18 (cli) (built: Aug 19 2013 04:03:40)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
когда я ищу php
find / -name php5
Я вижу только что установленные файлы
root@xxx:/usr/bin# ls -l php*
lrwxrwxrwx 1 root root 21 Dec 11 00:15 php -> /etc/alternatives/php
-rwxr-xr-x 1 root root 8956912 Nov 17 02:37 php5
root@xxx:/usr/bin# ./php5 -v
PHP 5.5.19-1~dotdeb.1 (cli) (built: Nov 17 2014 01:24:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.6, Copyright (c) 2002-2014, by Derick Rethans
root@xxxx:/usr/bin# ./php -v
PHP 5.5.19-1~dotdeb.1 (cli) (built: Nov 17 2014 01:24:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.6, Copyright (c) 2002-2014, by Derick Rethans
Мой phpinfo возвращает PHP версии 5.4.18
Что я делаю не так?
//редактировать:
Я обновил его с помощью directadmin / custombuild
root@xxxx:/usr/local/directadmin/custombuild# vim options.conf
я изменил строку:
php1_release=5.4
в
php1_release=5.5
и дальше:
root@xxxx:/usr/local/directadmin/custombuild# ./build update_data
# [..]
root@xxxx:/usr/local/directadmin/custombuild# ./build php d
# [..]
Теперь у меня есть PHP 5.5.19, и я могу использовать функцию password_hash ();)
Добавьте эти источники пакетов в ваш файл sources.list: введите файл через
sudo nano /etc/apt/sources.list
и добавьте эти строки в конец файла (вставьте правой кнопкой мыши):
deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all
Сохраните и закройте (CTRL-X, «y», ENTER).
Сделать обновление:
sudo apt-get update
Вы получите сообщение об ошибке в последней строке процесса обновления.
Способ № 1
Последняя строка этого сообщения об ошибке содержит ключ, например «E9C74FEEA2098A6E». Скопируйте этот ключ (отметьте строку мышью, как правило, копирует ее в буфер обмена) и выполните эти команды, чтобы проверить новые источники пакетов (и вставьте сюда ВАШ ключ):
gpg --keyserver packages.dotdeb.org --recv-key E9C74FEEA2098A6E
gpg -a --export E9C74FEEA2098A6E | sudo apt-key add -
Способ № 2 (спасибо Петру за то, что привезли это!)
wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
Сделайте обновление снова:
sudo apt-get update
Установите последнюю версию PHP 5:
sudo apt-get установить php5
Проверьте установленную версию PHP 5 (phpinfo () по-прежнему будет показывать старую версию PHP до перезагрузки apache):
php -v
Наконец, перезапустите apache:
sudo service apache2 restart
Кстати, я не могу (насколько я знаю) установить PHP 5.5 на Debian 6 (без компиляции исходного кода вручную).
Других решений пока нет …