Debian 8 php 7: Установка PHP7 и Apache2 в Debian 8
Обновляем PHP 5.6 до PHP 7.2 на Debian Jessie
Пришло время обновить PHP с версии 5.6 на 7.2, даже wordpress перестал обновляться, ссылаясь на то, что надо ему PHP7. Ну что же, надо, значит будем обновлять.
Для начала обновим систему, так как текущая система у нас Wheezy, то не плохо было бы ее поднять до Jessie, делаем.
Обновление ОС Debian с Wheezy до Jessie
Обновляем лист репозиториев:
# cat /etc/apt/sources.list
deb http://deb.debian.org/debian/ jessie main contrib non-free
deb-src http://deb.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
| # cat /etc/apt/sources.list deb http://deb.debian.org/debian/ jessie main contrib non-free deb-src http://deb.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |
Обновляем репозитории и ставим пакеты для Jessie:
# apt-get update && apt-get install apt -t jessie
| # apt-get update && apt-get install apt -t jessie |
По завершении обновляем систему и удаляем устаревшие пакеты:
# apt-get upgrade && apt-get dist-upgrade
| # apt-get upgrade && apt-get dist-upgrade |
Внимательно проверьте все запросы debconf и при необходимости обновите файлы конфигурации.
Удаляем не актуальные пакеты:
Перезагружаем систему и проверяем что система обновлена.
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.11 (jessie)
Release: 8.11
Codename: jessie
| # lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.11 (jessie) Release: 8.11 Codename: jessie |
Обновление PHP 5 до PHP 7
Теперь приступим к обновлению PHP, для начала добавим необходимые репозитории и ключи.
Для версии PHP 7.0:
# wget https://www.dotdeb.org/dotdeb.gpg
# apt-key add dotdeb.gpg
# nano /etc/apt/sources.list
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all
| # wget https://www.dotdeb.org/dotdeb.gpg # apt-key add dotdeb.gpg # nano /etc/apt/sources.list deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all |
Для версии PHP 7.2:
# wget https://packages.sury.org/php/apt.gpg
# apt-key add apt.gpg
# nano /etc/apt/source.list
deb https://packages.sury.org/php/ jessie main
| # wget https://packages.sury.org/php/apt.gpg # apt-key add apt.gpg # nano /etc/apt/source.list deb https://packages.sury.org/php/ jessie main |
Теперь обновляем репозитории:
После обновления ставим необходимые пакеты, в моем случае это версия 7.2:
apt-get install php7.2-common php7.2-cgi php7.2-cli php7.2-phpdbg php7.2-fpm \
libphp7.2-embed php7.2-dev php7.2-curl php7.2-gd php7.2-imap php7.2-interbase \
php7.2-intl php7.2-ldap php7.2-readline php7.2-odbc php7.2-pgsql php7.2-pspell \
php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2 php7.2-json php-all-dev php7.2-sybase \
php7.2-sqlite3 php7.2-mysql php7.2-opcache php7.2-bz2 libapache2-mod-php7.2 php7.2-mbstring \
php7.2-pdo php7.2-dom php7.2-enchant php7.2-gmp php7.2-soap php7.2-zip
| apt-get install php7.2-common php7.2-cgi php7.2-cli php7.2-phpdbg php7.2-fpm \ libphp7.2-embed php7.2-dev php7.2-curl php7.2-gd php7.2-imap php7.2-interbase \ php7.2-intl php7.2-ldap php7.2-readline php7.2-odbc php7.2-pgsql php7.2-pspell \ php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2 php7.2-json php-all-dev php7.2-sybase \ php7.2-sqlite3 php7.2-mysql php7.2-opcache php7.2-bz2 libapache2-mod-php7.2 php7.2-mbstring \ php7.2-pdo php7.2-dom php7.2-enchant php7.2-gmp php7.2-soap php7.2-zip |
Внимательно проверьте все запросы debconf и при необходимости обновите файлы конфигурации.
Проверяем, в итоге PHP обновился аж до версии 7.3:
# php -v
PHP 7.3.6-1+0~20190531112546.39+jessie~1.gbp6131b7 (cli) (built: May 31 2019 12:11:07) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.6-1+0~20190531112546.39+jessie~1.gbp6131b7, Copyright (c) 1999-2018, by Zend Technologies
| # php -v PHP 7.3.6-1+0~20190531112546.39+jessie~1.gbp6131b7 (cli) (built: May 31 2019 12:11:07) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.6-1+0~20190531112546.39+jessie~1.gbp6131b7, Copyright (c) 1999-2018, by Zend Technologies |
Установка новой версии PHP 7.2
Недавно был релиз PHP 7.2, который привнёс несколько отличных новых фич и улучшений безопасности в язык. Например, таких, как указание типа object
, разумное поведение count()
и многое другое.
Здесь мы собрали краткие руководства о том, как установить PHP 7.2 на нескольких разных операционных системах:
Ubuntu 14.04, 16.04, 17.04 и 17.10:
РНР 7.2 можно установить с помощью PPA Ondřej(я) Surý:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.2-cli
Полный список доступных пакетов смотрите здесь.
Debian 8 (Jessie) или 9 (Stretch)
Ondřej Surý также предоставляет пакеты РНР 7.2 для Debian, которые могут быть установлены с помощью следующих команд:
sudo apt-get install apt-transport-https lsb-release ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list sudo apt-get update sudo apt-get install php7.2-cli
Debian 7 (Wheezy)
PHP 7.2 можно скомпилировать из исходников, следуя инструкциям, изложенным здесь: Установка PHP 7 на Debian Wheezy. Убедитесь, что после клонирования репозитория php-src, вы переключились (git checkout
) на соответствующий тег.
CentOS / RHEL 6+ и Fedora 25+
Remi Collet, — один из релиз-менеджеров PHP 7.2, — также предоставляет rpm-пакеты для этой новой версии. Вы можете использовать мастер настройки, чтобы узнать какие шаги нужно предпринять для установки новой версии, или посмотрите сайт Remi для получения дополнительной информации о релизе PHP 7.2.0.
Mac OS X
РНР 7.2 можно установить через Liip-тулзу PHP-OSX:
curl -s https://php-osx.liip.ch/install.sh | bash -s 7.2
Или, если вы предпочитаете использовать Homebrew:
brew tap homebrew/homebrew-php brew install php72
Windows
Дистрибутивы PHP 7.2 для Windows можно найти на сайте windows.php.net: http://windows.php.net/download#php-7.2
Инструкции по установке дистрибутива вы можете найти здесь: https://www.webtechgadgetry.com/install-php-7-windows/
phpbrew
phpbrew — это действительно хороший инструмент, который поможет вам загрузить, скомпилировать и управлять несколькими версиями PHP. Если вы уже следовали инструкциям по его установке и phpbrew у вас уже работает, то PHP 7.2.0 можно установить двумя простыми командами:
phpbrew update phpbrew install -j $(nproc) 7.2.0 +default
Docker
Официальные РНР образы можно найти на Docker Hub. Вы можете использовать тег php:7.2
для базовых образов.
Если вы хотите повозиться с PHP 7.2 в интерактивной оболочке, то просто запустите в терминале:
docker run -it --rm php:7.2
Установка модуля Ioncube Loader для PHP 7.2 Debian 8 Jessie
Ioncube Loader это PHP модуль, который предназначен для декодирования файлов, защищенных с помощью IonCube Encoder.
Рассмотрим как подключить модуль Ioncube Loader к PHP 7.2 версий в Debian 8 Jessie
Установка модуля Ioncube Loader
Скачиваем модуль, распаковываем его и копируем в каталог с остальными модулями PHP:
| wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz tar xzf ioncube_loaders_lin_x86-64.tar.gz cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20170718/ioncube_loader.so |
Посмотреть расположение каталога с модулями PHP, можно командой:
php -i | grep extension_dir
Подключаем модуль Ioncube Loader в PHP. В файл конфигурации (/etc/php/7.2/cli/php.ini), после строки ( [PHP] ), добавляем строку подключения модуля:
| zend_extension = /usr/lib/php/20170718/ioncube_loader.so |
Настоятельно рекомендую проверять пути установки модуля, т.к. они могут отличатся от тех что написаны у меня
Проверяем подключен ли модуль в CLI:
| php -v
PHP 7.2.2-1+0~20180205160612.18+jessie~1.gbpb78b58 (cli) (built: Feb 5 2018 17:24:47) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.1.1, Copyright (c) 2002-2017, by ionCube Ltd. with Zend OPcache v7.2.2-1+0~20180205160612.18+jessie~1.gbpb78b58, Copyright (c) 1999-2018, by Zend Technologies |
Проверяем подключен ли модуль в FPM:
| service php7.2-fpm restart php-fpm7.2 -i | grep ioncube
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.1.1, Copyright (c) 2002-2017, by ionCube Ltd. |
Проверяем подключен ли модуль в Apache:
Понравилась или оказалась полезной статья, поблагодари автора
Загрузка…
IT Crowd | Обновление до PHP7.2 в Debian 9
Оценка: 84.43% — 14 Голосов
x
Рассмотрим как можно перейти с PHP 7.0 или 7.1 на 7.2 с веб-сервером Apache2.
Все команды выполняются под суперпользователем.
Подготовка к установке
Добавляем репозитории:
apt install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
Обновляемся:
apt update
apt upgrade
Список установленных модулей:
Если вы не знаете какие модули используются в вашей системе то можно выяснить выполнив команду php -m
Удаляем PHP7.0:
apt-get purge php7*
apt-get --purge autoremove
Устанавливаем PHP7
На данном этапе важно указать все модули, которые необходимы для работы вашей системы.
apt install php7.2 gettext php-mysql php-pear php-php-gettext php7.2 php7.2-bcmath php7.2-bz2 php7.2-cli php7.2-common php7.2-curl php7.2-dba php7.2-fpm php7.2-gd php7.2-json php7.2-mbstring php7.2-mcrypt php7.2-mysql php7.2-opcache php7.2-readline php7.2-soap php7.2-tidy php7.2-xml php7.2-zip
После установки необходимо в Apache2 активировать PHP 7.2 FPM командами:
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
После перезапустить Apache2:
service apache2 restart
На этом установка окончена.
- Просмотров: 28149
Добавить комментарий
Установка PHP 5.6, 7.0, 7.1, 7.2 одновременно в Debian 9 Stretch / Deepin 15
Всем привет. В этой статье я расскажу как использовать несколько версий PHP параллельно в Debian 9.
Если вы пользователь вышеупомянутой то вам наверно знаете, что в базовой комплектации системы вы имеете возможность установить только PHP 7.0 и не более. Но если вам вдруг понадобится использовать несколько версий PHP одновременно, то эта статья для Вас.
Данная статья подразумевает что у вас уже установлен Web Server Apache 2 или Nginx
Если нет, то самое время это сделать:
Apache2
sudo apt install apache2
Nginx
apt-get install nginx
Итак, с вебсерверами покончено, приступаем к установке PHP.
Для того, чтобы иметь возмозможность установить несколько версий одновременно, переходим к руту командой sudo su и выполним в терминале следующие команды:
sudo apt install ca-certificates apt-transport-https wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
Теперь устанавливаем требуемые нам версии. Данная команда установит PHP5.6, PHP7.0, PHP7.1, PHP7.2:
sudo apt install php5.6 php7.0 php7.1 php7.2
Если какая-то из версий вам не нужна, вы можете просто не устанавливать соответствующий пакет. В любом случае теперь вы имеетe возможность установить каждую из версий не сейчас а в будущем, если она Вам вдруг понадобится.
Как же теперь всем этим пользоваться? Очень просто:
После установки у нас по умолчанию начнет работать PHP7.2, в приоритете самая крайняя версия. Если ввести в терминале команду php -v то увидим следующий вывод:
andrey@debian:~$ php -v PHP 7.2.2-1+0~20180205160742.18+stretch~1.gbpb78b58 (cli) (built: Feb 5 2018 16:07:45) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.2-1+0~20180205160742.18+stretch~1.gbpb78b58, Copyright (c) 1999-2018, by Zend Technologies
Переключать версии можно очень просто используя команду
sudo update-alternatives --config php
Запуск этой команды вызовет меню в терминале в котором вам нужно будет указать ту версию PHP которую вы хотите сейчас использовать в CLI или на Web сервера вашего окружения. Выглядит это так:
andrey@debian:~$ sudo update-alternatives --config php There are 4 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php7.2 72 auto mode 1 /usr/bin/php5.6 56 manual mode 2 /usr/bin/php7.0 70 manual mode 3 /usr/bin/php7.1 71 manual mode 4 /usr/bin/php7.2 72 manual mode Press <enter> to keep the current choice[*], or type selection number:
В моем случаем мне сейчас необходима версия PHP 5.6, для того, чтобы протестировать требуемые мне фичи проекта.
В данном меню я просто нажимаю на клавиатуре цифру 1 и enter. После успешного сообщения если я наберу php -v в терминале, то вывод мне скажет что у меня установлена версия PHP5.6 по умолчанию, следовательно все команды типа php -f somefile.php будут выполнятся от имени версии 5,6
Собственно вот и вся магия. Debian 9 не так уж плох в данном вопросе 🙂
Кстати, как установить родной MySQL Server в Debian 9, я описал в этой статье Установка MySQL Server в Debian 9 Stretch
Если у Вас будут коментарии или замечания к статье, обязательно сообщите об этом в комментариях. Будем разбираться.
Удачного кодинга.
Поделиться ссылкой:
Понравилось это:
Нравится Загрузка…
Похожее
[РЕШЕНО] Обновление PHP до версии 7.4 на Ubuntu Server с NGINX + PHP-FPM + VestaCP
Сегодня в статье рассмотрим Обновление PHP до PHP 7.4 на Ubuntu Sever с панелью управления VestaCP и веб сервером Nginx + php-fpm.
Все началось после того, как WordPress предложил мне обновится до более новой версии PHP, а точнее до версии PHP 7.3 PHP 7.4
Ну раз предложил, то почему бы и нет. Тем более новая версия PHP 7.3 дает прирост 5%-10% по сравнению с PHP 7.2 и 20%-25% по сравнению с PHP 7.1. PHP 7.4 стала еще более быстрой+ 5-8% по сравнению с PHP 7.3
Обновление PHP на Ubuntu с VestaCP
Для обновления на новую версию PHP, подключаемся по SSH к нашему серверу.
ssh пользователь@IP-адрес_сервера
Далее добавим более свежий репозиторий для нашего PHP
sudo add-apt-repository ppa:ondrej/php
Обновим индексы:
sudo apt update
Устанавливаем php 7.4,а также некоторые необходимые дополнения.
sudo apt install php-pear php7.4 php7.4-common php7.4-cli php7.4-fpm php7.4-gd php7.4-mysql php7.4-mbstring php7.4-curl php7.4-xml php7.4-zip php7.4-json php7.4-imagick php7.4-xmlrpc php7.4-bz2 php7.4-dev php7.4-opcache php-memcached
После установки всех дополнений PHP 7.4 набираем в терминале следующую команду:
sudo update-alternatives --set php /usr/bin/php7.4
Данная команда назначит к запуску по умолчанию интерпретатор PHP 7.4.
Если же Вы хотите вернуть версию PHP 7.X, то набираем такую команду:
sudo update-alternatives --set php /usr/bin/php7.X
Скопируйте старый php.ini в новую директорию:
sudo cp /etc/php/7.X/fpm/php.ini /etc/php/7.4/fpm/php.ini
Останавливаем службу php7.X-fpm и запускаем php7.4-fpm:
sudo service php7.X-fpm stop
sudo service php-fpm stop
sudo service php7.4-fpm start
sudo service php-fpm restart
Проверяем всё ли запустилось:
sudo service php-fpm status
sudo service php7.4-fpm status
Должно выдать что-то вроде этого:
php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-05-22 15:12:32 UTC; 46min ago
Docs: man:php-fpm7.4(8)
Process: 400 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /et>
Main PID: 252 (php-fpm7.4)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2127)
Memory: 20.5M
CGroup: /system.slice/php7.4-fpm.service
├─252 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
├─398 php-fpm: pool www
└─399 php-fpm: pool www
Если после данной манипуляции перестали работать сайты на WordPress, то читаем дальше.
Решение ошибки 500 — внутренняя ошибка сервера.
И так мы подобрались к сути проблемы. После всех этих действий сайт с версией PHP 7.4 выдавал ошибку 500. Как только я останавливал 7.4 и запускал, ну скажем PHP 7.2 ошибка исчезала и сайт начинал работать в нормальном режиме.
Решил искать во всех конфигурационных файла PHP. Сравнивая два файла мне удалось найти некоторые отличия, но сути проблемы это не меняло. И вот когда я совсем отчаялся мне на глаза попадается конфигурационный файл PHP от панели VestaCP расположенный в директории /etc/php/7.2/fpm/pool.d/
и называется он как ваш домен. В моем случае obu4alka.ru.conf
со следующим содержимым:
[obu4alka.ru]
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
user = user
group = user
pm = ondemand
pm.max_children = 4
pm.max_requests = 4000
pm.process_idle_timeout = 10s
pm.status_path = /status
php_admin_value[upload_tmp_dir] = /home/user/tmp
php_admin_value[session.save_path] = /home/user/tmp
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /home/user/tmp
env[TMPDIR] = /home/user/tmp
env[TEMP] = /home/user/tmp
Данный файл подгружает настройки для нашего домена при запуске php-fpm. Ну хорошо копирую файл в директорию с PHP 7.4, а лучше сразу всю директорию
sudo cp /etc/php/7.2/fpm/pool.d/ /etc/php/7.4/fpm/
Если запускали старую версию PHP, то останавливаем службу php7.2-fpm и запускаем php7.4-fpm:
sudo service php7.2-fpm stop
sudo service php7.4-fpm start
Захожу на сайт, УРА!!! Ошибка 500 исчезла, сайт заработал в нормальном режим.
P.S. Также если не помогает, то двигаемся дальше. И да если сайт отказывается работать на новой версии PHP. Делаем следующее:
sudo nano /usr/local/vesta/conf/vesta.conf
Меняем значение на:
WEB_BACKEND='php74-php-fpm'
Также удаляем файлы:
sudo rm /etc/init.d/php-fpm
sudo rm /etc/init.d/php7.2-fpm
Далее копируем нашу PHP 7.4:
cp /etc/init.d/php7.4-fpm /etc/init.d/php-fpm
Рестарт PHP
sudo service php7.4-fpm restart
sudo service php-fpm restart
Если и после этого сайт отказывается работать на новой версии PHP , то уаляем старую версию:
sudo apt remove --purge php7.2
sudo apt autoremove
sudo apt autoclean
Если есть вопросы, то пишем в комментариях.
Также можете помочь проекту, заранее всем СПАСИБО!!!
.
RSS
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Установка системы
на Debian 8 Jessie с PHP7 — документация Akeneo PIM
Предупреждение
Мы продолжили наши усилия по поддержке Akeneo PIM PHP7. PHP7 теперь можно использовать в экспериментальном режиме как для интерфейса командной строки, так и для Интернета.
Экспериментальный означает, что нам удается установить и использовать PIM, но из-за отсутствия тестов в нашей функциональной матрице мы не можем взять на себя обязательства по его поддержке.
Вот краткое руководство по установке системных требований на Debian 8 Jessie с PHP7. Предполагается, что вы уже следовали руководству по установке системы на Debian 8 Jessie и у вас есть PIM, работающий с PHP5.
Примечание
Выполните следующие команды от имени пользователя root.
Монтаж системы¶
Чтобы установить PHP7 в Debian 8 Jessie, вы можете использовать репозитории dotdeb. Отредактируйте свой /etc/apt/sources.list
и добавьте следующее:
deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org Джесси все
Затем добавьте ключ dotdeb к своим известным ключам:
$ wget https://www.dotdeb.org/dotdeb.gpg $ apt-key добавить dotdeb.gpg
Теперь установите необходимые зависимости:
$ apt-get update $ apt-get install mysql-server apache2 libapache2-mod-php7.0 php7.0-cli php7.0-apcu php7.0-mcrypt php7.0-intl php7.0-mysql php7.0-curl php7.0- gd php7.0-мыло php7.0-xml php7.0-zip $ a2enmod rewrite
Убедитесь, что PHP7 теперь является вашей текущей версией PHP с:
Конфигурация системы¶
Если вы хотите сохранить PHP 5 в качестве версии PHP по умолчанию, используйте update-alternatives
следующим образом:
$ update-alternatives --config php
Теперь вам нужно настроить ограничение памяти PHP7 и часовой пояс как для Apache, так и для CLI.
Установка Apache php.ini файл /etc/php/7.0/apache2/php.ini
memory_limit = 512 МБ date.timezone = Etc / UTC
Настройка CLI php.ini файл /etc/php/7.0/cli/php.ini
memory_limit = 768 МБ date.timezone = Etc / UTC
Примечание
Используйте часовой пояс, соответствующий вашему местоположению, например America / Los_Angeles или Europe / Berlin . См. Http://www.php.net/timezones для получения списка всех доступных часовых поясов.
Настройка гибридного хранилища MySQL / MongoDB¶
Если вы используете полное хранилище SQL с MySQL, вам не нужно следовать этому разделу, и все готово.
PIM теперь должен работать 🙂
В противном случае вам нужно будет установить новое расширение Mongo PHP и включить его:
$ apt-get install php7.0-dev pkg-config $ pecl установить mongodb $ echo "extension = mongodb.so" >> /etc/php/7.0/mods-available/mongodb.ini $ phpenmod mongodb
Наконец, как обычный пользователь, вы должны установить адаптер Mongo PHP:
$ su my_user $ composer требуется alcaeus / mongo-php-adapter --ignore-platform-reqs
Вот и все! Теперь вы можете использовать PIM с PHP7 🙂
.
Руководство по обновлению / установке PHP 7.4 в Ubuntu и Debian • PHP.Watch
PHP 7.4 был выпущен сегодня как раз вовремя для благодарности!
В прошлом году я писал сообщения об обновлении PHP до 7.3, а в предыдущие годы — о других версиях. Пора перейти на PHP 7.4!
ЖУТКОЕ ПРЕДУПРЕЖДЕНИЕ
PHP 7.4 не поддерживает ряд функций, которые могут использоваться вашими существующими приложениями. Хотя это маловероятно, вероятность того, что обновление сломает ваши существующие сайты, отлична от нуля.Перед продолжением убедитесь, что вы сделали надлежащую резервную копию вашего сервера.
1. Добавьте ondrej / php
PPA
Благодаря Ондрею у нас есть готовые сборки PHP 7.4 в его PPA. Эти пакеты не являются официальными сборками Ubuntu, но они используются практически в каждом современном стеке Ubuntu, и я не могу рекомендовать их достаточно сильно. Если ваш кошелек позволяет это, я предлагаю вам заплатить за его усилия пожертвованием.
Ubuntu
sudo add-apt-repository ppa: ondrej / php # При появлении запроса нажмите Enter.sudo apt-get update
Debian
sudo apt install apt-transport-https lsb-release ca-сертификаты curl -y
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $ (lsb_release -sc) main"> /etc/apt/sources.list.d/php.list'
sudo apt update
2. Получите список текущих пакетов PHP.
Если вы выполняете обновление с предыдущей версии PHP, мы не будем принимать во внимание текущие пакеты PHP, которые есть на вашем сервере.Этот список поможет нам определить пакеты, которые мы должны установить для PHP 7.4. Обратите внимание, что PHP больше не связывает некоторые менее используемые расширения, такие как wddx
, которые вам нужно будет скомпилировать самостоятельно, если вам это нужно. Посмотрите, что нового и что изменилось в PHP 7.4, чтобы узнать, что удаляется из ядра.
dpkg -l | grep php | тройник packages.txt
Это перечислит все пакеты, отфильтрует их для тех, у кого в имени указано php
, и запишет их в пакеты .txt
в вашем текущем каталоге в дополнение к отображению их на экране.
К этому списку будет удобно обращаться после того, как мы установим PHP 7.4 для установки эквивалентов пакетов PHP 7.4.
3. Установите PHP 7.4
* Тяжело дышит …
PHP 7.4, ядро
sudo apt install php7.4 php7.4-common php7.4-cli
Это установка основных бинарных файлов PHP 7.4. После этого у вас будет минимальный установленный PHP.Обратите внимание, что мы еще не установили fpm
или любой другой пакет интеграции с сервером
Расширения PHP 7.4
Пришло время для расширений. Если вы выполняете обновление с предыдущей установки, теперь вы можете взглянуть на содержимое файла packages.txt
( cat packages.txt
).
В репозитории PPA / Debian Ондрея пакеты PHP следуют шаблону php7.4-PACKAGE
. Например, mbstring
находится на php7.4-mbstring
и curl
находятся по адресу php7.4-mbstring
.
Для установки:
sudo apt install php7.4-curl php7.4-mbstring php7.4-bz2 php7.4-readline php7.4-intl
Расширьте список пакетов выше, чтобы он соответствовал содержимому вашего файла packages.txt
или всем пакетам, которые требуются.
Вот мой рекомендуемый список расширений:
sudo apt install php7.4-bcmath php7.4-bz2 php7.4-curl php7.4-intl php7.4-mbstring php7.4-mysql php7.4-readline php7.4-xml php7.4-zip`
PHP уже включает расширения, такие как curl
, hash
, ctype
в ядре.
Интеграция с веб-сервером
Если вы планируете использовать PHP на веб-сервере, вам необходимо интегрировать веб-сервер с PHP. Вы можете использовать два пакета:
Для веб-сервера Nginx или сервера Apache, использующего mod_event
MPM, вам потребуется php7.Пакет 4-fpm
.
Если вы используете PHP в качестве встроенного модуля Apache (часто плохой вызов), вам понадобится пакет libapache2-mod-php7.4
. Пользователи Apache могут запустить apachectl -V
, чтобы получить дополнительную информацию об интеграции с сервером. Если написано prefork
, вам нужен пакет libapache2-mod-php7.4
. php7.4-fpm
иначе.
Nginx или Apache с событием
MPM
sudo apt установить php7.4-fpm
sudo a2enconf php7.4-fpm # Только для Apache
Apache с предварительным форком
MPM
sudo apt установить libapache2-mod-php7.4
3. Протестируйте установку PHP 7.4.
Запустите php -v
, чтобы убедиться, что PHP 7.4 (CLI) установлен правильно. Вы можете запустить php -m
, чтобы получить список расширений, включенных в вашей установке PHP 7.4.
4. Удалить старые версии PHP
После успешной установки PHP 7.4 при желании вы можете удалить старую версию.Если нет веских причин для продолжения работы старой версии и использования системных ресурсов, я рекомендую вам удалить старые версии.
apt purge php7.3 php7.3-common # Измените 7.3 со всеми версиями, которые вы хотите удалить.
… ааа и все! Теперь у вас должен быть работающий PHP 7.4 с общими пакетами / заменяющими пакетами старой версии. Следите за журналами ошибок на предмет потенциальных несовместимых ошибок в вашем коде.
Я составил список изменений, устаревших, добавленных и удаленных в PHP 7.4.
.
Как установить PHP 7.4 / 7.3 / 7.2 / 7.1 в Debian 10 / Debian 9
PHP — это язык программирования с открытым исходным кодом, используемый для веб-разработки, созданный Расмусом Лердорфом. Это язык сценариев со встроенным HTML для создания динамических веб-сайтов.
В этом посте мы увидим, как установить PHP 7.4 / 7.3 / 7.2 / 7.1 в Debian 10 / Debian 9.
Добавить репозиторий PHP
SURY, сторонний репозиторий, который предлагает PHP 7.4 / 7.3 / 7.2 / 7.1 для операционной системы Debian.
По умолчанию Debian 10 поставляется с PHP v7.3. Итак, вы можете установить PHP v7.3 из репозитория Debian или репозитория SURY. Пропустите этот раздел, если хотите установить PHP 7.3 из репозитория Debian. Однако, если вы хотите установить PHP 7.4 / 7.2 / 7.1 на Debian 10, вы должны настроить репозиторий SURY.
Обновите кеш репозитория.
sudo apt update
Установите следующие пакеты.
sudo apt install -y curl wget gnupg2 ca-Certific lsb-release apt-transport-https
Импортируйте общедоступную информацию, используя следующие команды.
wget https://packages.sury.org/php/apt.gpg sudo apt-key add apt.gpg
Добавьте репозиторий SURY в вашу систему.
echo "deb https://packages.sury.org/php/ $ (lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.list
Обновите индекс репозитория.
sudo apt update
Установите PHP
Установите PHP 7.4 в Debian 10 / Debian 9
Установите PHP v7.4 с помощью следующей команды.
sudo apt install -y php7.4 php7.4-cli php7.4-common
Установите PHP 7.3 в Debian 10 / Debian 9
Установите PHP v7.3 с помощью следующей команды.
sudo apt install -y php7.3 php7.3-cli php7.3-common
Установите PHP 7.2 в Debian 10 / Debian 9
Установите PHP v7.2 с помощью следующей команды.
sudo apt install -y php7.2 php7.2-cli php7.2-common
Установите PHP 7.1 в Debian 10 / Debian 9
Установите PHP v7.1 с помощью следующей команды.
sudo apt install -y php7.1 php7.1-cli php7.1-common
В вашей системе также может быть несколько версий PHP. Каждая версия PHP будет иметь отдельные файлы конфигурации в каталоге /etc/php/7.X.
Установить версию PHP по умолчанию
Вы можете установить версию PHP по умолчанию с помощью следующей команды, если ваша система имеет несколько версий PHP. Измените php7.3 на версию, которую вы хотите установить как версию PHP по умолчанию.
sudo update-alternatives --set php / usr / bin / php7.3
Проверить версию PHP
После установки PHP проверьте версию.
php -v
Вывод:
PHP 7.4.1 (cli) (построено: 18 декабря 2019 15:00:01) (NTS) Авторские права (c) Группа PHP Zend Engine v3.4.0, Авторское право (c) Zend Technologies с Zend OPcache v7.4.1, Copyright (c), Zend Technologies
Поддержка PHP для веб-сервера
И Apache, и Nginx не поддерживают обработку файлов PHP по умолчанию, когда браузер запрашивает страницу PHP. Итак, нам нужно установить пакет PHP на сервер для поддержки файлов PHP.
Поддержка PHP для Apache
Вы можете установить указанный ниже пакет с веб-сервером Apache для поддержки PHP. Этот пакет предоставляет модули PHP для веб-сервера Apache 2. При необходимости измените версию PHP
sudo apt install -y apache2 libapache2-mod-php7.4
Поддержка PHP для Ngnix
Nginx не имеет пакета модулей PHP для поддержки PHP. Но мы можем использовать PHP FastCGI Process Manager для обработки запросов PHP. При необходимости измените версию PHP
sudo apt install -y php7.4-fpm
После установки менеджера FastCGI добавьте информацию о сокете в виртуальный хост Nginx.
сервер { # другие коды расположение ~ * \ .php $ { fastcgi_pass unix: /run/php/php7.4-fpm.sock ; включить fastcgi_params; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_param SCRIPT_NAME $ fastcgi_script_name; } }
Установить расширения PHP
Расширения PHP включают определенные функции / поддержку для вашего кода.Например, установка расширения PHP MySQL позволит вашему PHP-коду подключаться к базе данных MySQL.
Пакет расширений PHP обычно называется php
Чтобы установить поддержку MySQL для PHP v7.4, вы можете установить пакет php7.4-mysql
.
sudo apt install -y php7.4-mysql
После того, как вы установили необходимое расширение, используйте команду ниже, чтобы проверить его.
php -m | grep -i mysql
Вывод:
mysqli mysqlnd pdo_mysql
Расширения PHP для CMS
Расширения PHP для WordPress
Следующие расширения необходимы для установки и запуска WordPress в вашей системе Debian.WordPress рекомендует для установки использовать PHP v7.3.
sudo apt install -y php7.3-mysql php7.3-dom php7.3-simplexml php7.3-ssh3 php7.3-xml php7.3-xmlreader php7.3-curl php7.3-exif php7.3 -ftp php7.3-gd php7.3-iconv php7.3-imagick php7.3-json php7.3-mbstring php7.3-posix php7.3-sockets php7.3-tokenizer
Расширения PHP для Joomla
Следующие расширения необходимы для установки и запуска Joomla в вашей системе Debian. Joomla требует PHP v7.1 и выше.
sudo apt install -y php7.3-mysql php7.3-xml php-pear php7.3-json
Расширения PHP для Drupal
Следующие расширения необходимы для установки и запуска Drupal в вашей системе Debian. Drupal требует PHP v7.1 и выше.
sudo apt install -y php7.3-mysql php7.3-dom php7.3-gd php7.3-json php7.3-pdo php7.3-simplexml php7.3-tokenizer php7.3-xml
Заключение
Вот и все. Пожалуйста, поделитесь своим мнением в разделе комментариев.
.
PHP 7.0-RC2 доступен для Debian 8 «Jessie» — Dotdeb
4 сентября 2015 года группа PHP опубликовала второго кандидата на выпуск новой основной ветки, PHP 7:
.
PHP 7.0.0 RC 2 содержит исправления для 28 ошибок, о которых сообщалось, 7 из которых связаны с безопасностью, и в целом более 250 коммитов с различными улучшениями.
PHP 7.0.0 поставляется с новой версией Zend Engine с такими функциями, как (неполный список):
- Повышенная производительность: PHP 7 почти вдвое быстрее, чем PHP 5.6
- Последовательная поддержка 64-бит
- Многие фатальные ошибки теперь являются Исключениями
- Удаление старых и неподдерживаемых SAPI и расширений
- Нулевой оператор объединения (??)
- Оператор комбинированного сравнения ()
- Объявления типа возврата
- Объявления скалярных типов
- Анонимные классы
Для получения дополнительной информации о новых функциях и других изменениях вы можете прочитать файл NEWS или файл UPGRADING для получения полного списка примечаний по обновлению.
Теперь я с гордостью сообщаю, что пакеты PHP 7.0-RC2 теперь доступны для Debian 8 «Jessie» на архитектурах amd64 и i386!
Заявление об отказе от ответственности: ЭТО ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР РАЗРАБОТКИ (из исходной версии PHP и с точки зрения упаковки Dotdeb / Debian) — НЕ ИСПОЛЬЗУЙТЕ ЕГО В ПРОИЗВОДСТВЕ!
Что касается Dotdeb, я хотел сделать все правильно и совместимо с тем, что произойдет с Stretch. Таким образом, метод упаковки был синхронизирован с методом Сида с точки зрения именования и управления версиями (еще раз, спасибо сопровождающим Debian за их потрясающую работу! ).Это означает, что:
- Пакеты SAPI (Apache2, FPM, CLI, CGI, Embed…) собираются как обычно из исходного кода и называются php7.0- * вместо php7- *.
- Это новое соглашение об именах и метод упаковки упростят создание будущих пакетов php7.x- *. И вы даже можете установить несколько версий PHP на один сервер без каких-либо конфликтов!
- Основные модули PHP (GD, MySQL, mbstring…) теперь собираются из пакета php7.0-modules-source и называются php- *.Убедитесь, что вы выбрали правильные.
- Все эти пакеты созданы с использованием git-buildpackage и Jenkins.
- Пакеты расширений PECL отсутствуют и требуют доработки (скрипты еще не готовы).
- Поточно-ориентированная версия всех этих пакетов будет опубликована после того, как все будет объявлено стабильным и готовым к эксплуатации.
Еще раз, эти первые пакеты следует рассматривать как предварительный просмотр:
- Пока не обновляйте какие-либо промежуточные / производственные / критические среды и используйте эти пакеты RC на свой страх и риск!
- Убедитесь, что вы понимаете указанные выше изменения PHP / Debian / Dotdeb и что вам не нужны какие-либо недостающие функции / пакеты.
- Мы всегда рады вашим отзывам.Просто убедитесь, что они полезны.
Эти пакеты были опубликованы в основном репозитории для Jessie, потому что у них новые имена, и они не должны конфликтовать с какой-либо установкой PHP5. Итак, чтобы протестировать PHP 7.0-RC2, просто следуйте инструкциям.
И как обычно, не стесняйтесь оказывать поддержку…
.