Не устанавливается php 5.6 на debian

Если добавить в /etc/apt/sources.list:

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

Затем сделать:

apt-get update
apt-get install php5-fpm

В результате установленная версия php всё ещё php 5.4:

$ php --version
PHP 5.4.45-1~dotdeb+7.1 (cli) (built: Sep  4 2015 23:38:46) 

Содержимое bash-файл (.sh) для установки php 5.6 на debian:

#!/bin/bash

if [ `whoami` != "root" ]; then
    echo "You must be root to provision this";
    exit;
fi

cat > /etc/apt/sources.list.d/dotdeb-php56.list <<- EOF
    deb http://packages.dotdeb.org wheezy-php56 all
    deb-src http://packages.dotdeb.org wheezy-php56 all
EOF

export APT_LISTCHANGES_FRONTEND=none

aptitude update

aptitude -y purge php5-pinba libpuzzle-php php5-mysql

apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y install \
    php5 php5-cli php5-common php5-curl php5-dev php5-fpm php5-geoip  php5-imagick php5-memcached php5-mysqlnd

sed -i.bak -e 's/^;listen\.\([ogm]\)/listen.\1/' /etc/php5/fpm/pool.d/www.conf

service php5-fpm restart

Разберём подробно:

#!/bin/bash - говорит о том, что скрипт написан на языке bash.

Позволяет выполнять файл только от имени root:

if [ `whoami` != "root" ]; then
    echo "You must be root to provision this";
    exit;
fi

Добавляет репозитории пакетов dotdeb c php 5.6 в sources.list:

cat > /etc/apt/sources.list.d/dotdeb-php56.list <<- EOF
    deb http://packages.dotdeb.org wheezy-php56 all
    deb-src http://packages.dotdeb.org wheezy-php56 all
EOF

Export нужен, чтобы подавить запросы (yes/no) при установке php (в след. пунктах). Имеет смысл только при автоматической установке:

export APT_LISTCHANGES_FRONTEND=none

Применит обновления пакетов, нужно после добавления новых пакетов  sources.list:

aptitude update

Удаляет пакеты, которые могут помешать установке php 5.6.

aptitude -y purge php5-pinba libpuzzle-php php5-mysql

Ставим php5.6 на debian, сохраняя существующий конфиг:

apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y install \
    php5 php5-cli php5-common php5-curl php5-dev php5-fpm php5-geoip  php5-imagick php5-memcached php5-mysqlnd

Правим конфиг fpm:

sed -i.bak -e 's/^;listen\.\([ogm]\)/listen.\1/' /etc/php5/fpm/pool.d/www.conf

И в конце делаем fpm restart:

service php5-fpm restart

 

 
 
 
 

icon Комментарии 0

Ваш комментарий к статье.. (для авторизованных)

ctrl+enter

icon Вход в систему

зарегистрироваться
НОВЫЕ ПОЛЬЗОВАТЕЛИ