Upgrade PHP7 на Ubuntu 14.04
Для тех кто еще не обновил свои сервера на PHP7, настроенные по заметке Василия Наумкина.
Добавляем репозиторий
У меня все заработало. php5 при этом можно оставить (хотя может чего-нибудь вылезти).
В конфигурации php7-fpm меняем только сокет
Добавляем репозиторий
apt-get install software-properties-common
add-apt-repository ppa:ondrej/phpsudo apt-get update && apt-get purge php5-fpm && apt-get --purge autoremove && apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-json php7.0-mcrypt php7.0-opcache php7.0-xml php7.0-mbstring У меня все заработало. php5 при этом можно оставить (хотя может чего-нибудь вылезти).
В конфигурации php7-fpm меняем только сокет
listen = /var/run/php/php7-eco.sockи удаляем закоментируемую строку #php_admin_value[disable_functions] = exec,passthru и т.д.В конфиге nginx также меняем только сокетupstream backend-eco {server unix:/var/run/php/php7-eco.sock;}После изменения конфигов не забываем рестартить сервисыservice nginx restart
service php7.0-fpm restart Комментарии: 31
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
мой плэйбук:
соответственно, пхп5 удаляется
можно не делать лишнее действие (менять путь сокета)
E: Couldn't find any package by regex 'php7.0-fpm'
E: Unable to locate package php7.0-mysql
E: Couldn't find any package by regex 'php7.0-mysql'
E: Unable to locate package php7.0-curl
E: Couldn't find any package by regex 'php7.0-curl'
E: Unable to locate package php7.0-gd
E: Couldn't find any package by regex 'php7.0-gd'
E: Unable to locate package php7.0-json
E: Couldn't find any package by regex 'php7.0-json'
E: Unable to locate package php7.0-mcrypt
E: Couldn't find any package by regex 'php7.0-mcrypt'
E: Unable to locate package php7.0-opcache
E: Couldn't find any package by regex 'php7.0-opcache'
E: Unable to locate package php7.0-xml
E: Couldn't find any package by regex 'php7.0-xml'
E: Unable to locate package php7.0-mbstring
E: Couldn't find any package by regex 'php7.0-mbstring'
2. Не обновили список пакетов
apt-get install software-properties-common:
Reading package lists… Done
Building dependency tree
Reading state information… Done
software-properties-common is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 101 not upgraded.
add-apt-repository ppa:ondrej/php:
Co-installable PHP versions: PHP 5.5, 5.6, PHP 7.0 and batteries included.
You can get more information about the packages at deb.sury.org
For PHP 5.4 on Ubuntu 12.04 use: ppa:ondrej/php5-oldstable
BUGS&FEATURES: This PPA now has a issue tracker: deb.sury.org/#bug-repor ting
PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: donate.sury.org/
WARNING: add-apt-repository is broken with non-UTF-8 locales, see github .com/oerdnj/deb.sury.org/issues/56 for workaround:
# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
More info: launchpad.net/~ondrej/+archive/ubuntu/php
Press [ENTER] to continue or ctrl-c to cancel adding it
gpg: keyring `/tmp/tmpjcncdi80/secring.gpg' created
gpg: keyring `/tmp/tmpjcncdi80/pubring.gpg' created
gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpjcncdi80/trustdb.gpg: trustdb created
gpg: key E5267A6C: public key «Launchpad PPA for Ondřej Surý» imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
sudo apt-get update
Hit mirrors.digitalocean.com vivid InRelease
Hit mirrors.digitalocean.com vivid-updates InRelease
Hit ppa.launchpad.net vivid InRelease
Hit security.ubuntu.com vivid-security InRelease
Hit ppa.launchpad.net vivid InRelease
Hit ppa.launchpad.net vivid InRelease
Hit mirrors.digitalocean.com vivid/main Sources
Hit mirrors.digitalocean.com vivid/universe Sources
Hit mirrors.digitalocean.com vivid/main i386 Packages
Hit mirrors.digitalocean.com vivid/universe i386 Packages
Hit mirrors.digitalocean.com vivid/main Translation-en
Hit mirrors.digitalocean.com vivid/universe Translation-en
Hit mirrors.digitalocean.com vivid-updates/main Sources
Hit mirrors.digitalocean.com vivid-updates/universe Sources
Hit mirrors.digitalocean.com vivid-updates/main i386 Packages
Hit mirrors.digitalocean.com vivid-updates/universe i386 Packages
Hit mirrors.digitalocean.com vivid-updates/main Translation-en
Hit mirrors.digitalocean.com vivid-updates/universe Translation-en
Hit ppa.launchpad.net vivid/main i386 Packages
Hit ppa.launchpad.net vivid/main Translation-en
Hit security.ubuntu.com vivid-security/main Sources
Hit ppa.launchpad.net vivid/main i386 Packages
Hit security.ubuntu.com vivid-security/universe Sources
Hit ppa.launchpad.net vivid/main Translation-en
Hit security.ubuntu.com vivid-security/main i386 Packages
Hit ppa.launchpad.net vivid/main i386 Packages
Hit security.ubuntu.com vivid-security/universe i386 Packages
Hit ppa.launchpad.net vivid/main Translation-en
Hit security.ubuntu.com vivid-security/main Translation-en
Hit security.ubuntu.com vivid-security/universe Translation-en
Reading package lists… Done
apt-get install php7.0-fpm
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package php7.0-fpm
E: Couldn't find any package by regex 'php7.0-fpm'
Я не вижу её в списке. Обновитесь хотя бы до 15.10
Накинул php7 не удаляя php5.
Пути прописал вроде бы верно. Но после рестарта сервисов папка /var/run/php пустая, хотя там должен быть sock
в логах пусто
Старые настройки в папке с php5 оставил. Но а nginx для сайта прописал новые имена для backend
Соответсвенно на теже имена создал conf в pool.d
Простая html в папке с сайтом открывается, но всё modx-ское выдает 502 Bad Gateway
ps. в phpmyadmin ничего не менял (изменил только то что для него в настройках nginx. т.е. присвоил новый backend )
pps. настройки php7 аналогичны тем, что в заметке Василия Наумкина
во всех conf файлах в настройках php/7.0/fpm/pool.d ??? Проверь. Если не ошибаюсь, у меня именно из-за этой строки была ошибка 502 Bad Gateway.
Но disable_function для exec и passthru прописаны в общих настройках php.
спасибо за ответ!
ощущение, что php7.0 вообще не взлетел
подожду обновки. может ситуация исправится
по ps aux | grep php полная тишина в 7й версии.
без /Var тоже пробовал.точнее без прослойки /php/ хотя… и без var тоже )
пол дня сверяю пути и логику. и должно бы взлететь, но…
стоит в pool.d поместить любой пул — пхп7 отваливается
З.Ы.: надеюсь, бекапы у вас есть. они всегда должны быть
попробую
Вощм в конфигах pool.d у меня стояла закомментированная строка со знаком #. вот он и не давал запуститься пхп7. видимо пхп5 допускал такой синтаксис.
во всех конфигах почистил эту строку — всё заработало. пути вроде можно не менять.
Но спасибо! буду знать )