Я следую этому руководству: http://atik97.wordpress.com/2010/06/12/how-to-upgrade-to-php-5-3-in-ubuntu-9-10/
Я сделал все шаги, но он все еще показывает php 5.2.6 - есть идеи?
Я также пробовал -cgi вместо -cli, ни на что не повлияло.
Обновить
Я попытался перезагрузить сервер, чтобы посмотреть, повлияет ли это на какой-либо эффект, но, к сожалению, этого не произошло.
Обновить
Выход dpkg -l *php*
:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=============================================-=============================================-==========================================================================================================
un libapache2-mod-php4 <none> (no description available)
ii libapache2-mod-php5 5.2.6.dfsg.1-3ubuntu4.6 server-side, HTML-embedded scripting language (Apache 2 module)
un libapache2-mod-php5filter <none> (no description available)
ii php-pear 5.2.6.dfsg.1-3ubuntu4.6 PEAR - PHP Extension and Application Repository
un php4-cli <none> (no description available)
un php4-dev <none> (no description available)
un php4-mysql <none> (no description available)
un php4-pear <none> (no description available)
ii php5 5.2.6.dfsg.1-3ubuntu4.6 server-side, HTML-embedded scripting language (metapackage)
ii php5-cgi 5.2.6.dfsg.1-3ubuntu4.6 server-side, HTML-embedded scripting language (CGI binary)
ii php5-cli 5.2.6.dfsg.1-3ubuntu4.6 command-line interpreter for the php5 scripting language
ii php5-common 5.2.6.dfsg.1-3ubuntu4.6 Common files for packages built from the php5 source
ii php5-curl 5.2.6.dfsg.1-3ubuntu4.6 CURL module for php5
un php5-dev <none> (no description available)
ii php5-gd 5.2.6.dfsg.1-3ubuntu4.6 GD module for php5
ii php5-imap 5.2.6-0ubuntu5.1 IMAP module for php5
un php5-json <none> (no description available)
ii php5-mcrypt 5.2.6-0ubuntu2 MCrypt module for php5
ii php5-mysql 5.2.6.dfsg.1-3ubuntu4.6 MySQL module for php5
un php5-mysqli <none> (no description available)
ii php5-xsl 5.2.6.dfsg.1-3ubuntu4.6 XSL module for php5
un phpapi-20060613+lfs <none> (no description available)
ii phpmyadmin 4:3.1.2-1ubuntu0.2 MySQL web administration tool
Обновить
Следующие команды и их выходы:
grep php53 /etc/apt/sources.list
deb http://php53.dotdeb.org stable all
deb-src http://php53.dotdeb.org stable all
apt-cache search -f "libapache2-mod-php5"
Обновить Я обновил вопрос, указав более подробную информацию об установленных пакетах.
Я провел несколько экспериментов на виртуальной машине под управлением Ubuntu 9.10, вот рабочие инструкции:
Удалите все ранее установленные строки dotdeb в /etc/apt/sources.list
и вставьте только эту строку
деб http://php53.dotdeb.org oldstable все
Затем вам следует обновить список пакетов, используя aptitude update
, после этого вы сможете выбрать пакет php5.3, но если вы это сделаете, вы обнаружите, что он не работает из-за отсутствия зависимостей. Чтобы исправить это, вы должны вручную установить эти два отсутствующих пакета, используя wget
и dpkg
набрав это:
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
sudo dpkg -i libicu38_3.8-6ubuntu0.2_i386.deb
sudo dpkg -i libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
Теперь добавьте ключ dotdeb gpg к связке ключей apt с помощью curl http://www.dotdeb.org/dotdeb.gpg | sudo apt-key add -
а затем вы сможете выбрать и установить php5.3 с помощью sudo apt-get install libapache2-mod-php
. Все, у вас php 5.3.
В руководстве обновляется только пакет -cli, который является двоичным файлом, который используется при запуске PHP из командной строки. Я предполагаю, что пакет не конфликтует с другими версиями модуля CGI и apache.
Вам необходимо установить либо php5-cgi, либо libapache2-mod-php5, в зависимости от того, что вы используете для веб-сервера.
apt-get upgrade php5
и apt-get upgrade libapache2-mod-php5
Затем перезапустите apache
С пакетами dotdeb вы действительно должны иметь возможность обновляться. Страница, которую вы упомянули, обновляет только CLI PHP, как было опубликовано. Вместо этого следуйте этим инструкциям:
http://www.dotdeb.org/instructions/
И обязательно беги sudo apt-get update
прежде чем делать apt-get upgrade
.
РЕДАКТИРОВАТЬ 2: Вы правы в том, что ничего из этого не работает! Я только что запустил виртуальную машину 9.10, и это не работает ... я думаю, что что-то не так с репозиториями php53.dotdeb.org ... скоро к вам вернусь.
РЕДАКТИРОВАТЬ 3: У меня на всю жизнь не было возможности установить PHP 5.3 на 9.10 с использованием репозиториев dotdeb.
Возможна ли компиляция из исходников? Используется ли машина в производстве?
В Ubuntu Lucid (10.04) вы можете сделать это:
Замените «lucid» на «maverick» в «/etc/apt/sources.list» и сохраните его. Затем откройте другой терминал и выполните aptitude, обновите источники и установите / обновите файлы php5. Это обновит вас до версии 5.3.3. Затем отмените (от «maverick» до «lucid») и сохраните.
Если вам нужна версия 5.3.5, используйте «natty» вместо «maverick». У меня не было конфликта пакетов, но я не могу гарантировать, что он будет работать идеально.
Надеюсь, это будет полезно.
Думаю, альтернатива Фабио тоже хороша ...