Как перезапустить php в ubuntu
Перейти к содержимому

Как перезапустить php в ubuntu

  • автор:

Vesta Control Panel — Forum

Как обновить php 7.0 до php 7.2 ubuntu 16.04 (nginx + php-fpm)

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
gemuz Posts: 67 Joined: Mon Jun 04, 2018 9:44 am
Os: Ubuntu 15x Web: nginx + php-fpm

Как обновить php 7.0 до php 7.2 ubuntu 16.04 (nginx + php-fpm)

Post by gemuz » Sun Feb 03, 2019 6:42 pm

Изучил форум, были варианты как обновиться, но ни одного 100% рабочего.
Хочется получить такую же рабочую панель, как и было до обновления (возможность выбора шаблонов, рестарт из панели и тд) c php 7.2

ОС: ubuntu 16.04 x64
PHP: 7.0
Шаблон: wordpress2
Шаблон php» socket

Может кто смог обновиться? Да, можно перейти на 18.04, но веста к этому еще не готова (ставил, видел, баги. нет ipv6)

Буду признателен хоть какому руководству.

mazilepa Posts: 5 Joined: Thu Feb 07, 2019 10:46 pm
Os: Ubuntu 15x Web: nginx + php-fpm

Re: Как обновить php 7.0 до php 7.2 ubuntu 16.04 (nginx + php-fpm)

Post by mazilepa » Thu Feb 07, 2019 10:54 pm

Я тож ломал голову с темой обновления до PHP-7.2 на Ubu..16.04 (x32), забил и переделал скрипт установки весты на Ubuntu 16.04 (x32) PHP-7.3, тестирую в виртуалке т.к. появились некоторые «траблы»

gemuz Posts: 67 Joined: Mon Jun 04, 2018 9:44 am
Os: Ubuntu 15x Web: nginx + php-fpm

Re: Как обновить php 7.0 до php 7.2 ubuntu 16.04 (nginx + php-fpm)

Post by gemuz » Fri Feb 08, 2019 5:13 am

Thu Feb 07, 2019 10:54 pm

Я тож ломал голову с темой обновления до PHP-7.2 на Ubu..16.04 (x32), забил и переделал скрипт установки весты на Ubuntu 16.04 (x32) PHP-7.3, тестирую в виртуалке т.к. появились некоторые «траблы»

Можно скрипт?
Помогу с доработкой.
mazilepa Posts: 5 Joined: Thu Feb 07, 2019 10:46 pm
Os: Ubuntu 15x Web: nginx + php-fpm

Re: Как обновить php 7.0 до php 7.2 ubuntu 16.04 (nginx + php-fpm)

Post by mazilepa » Fri Feb 08, 2019 7:46 am

Про скрипты с PHP-7.3 (+ 7.0,7.2) пока дать их не могу, т.к. там почти пол весты переделано и есть «конфиденциальные» строки и функции, поэтому прежде чем дать эти скрипты мне их заново надо «перелопатить» и поудалять все «секретное».

По весте с PHP-7.2 на Ubu. 16.04 (x32), алгоритм следующий:
sudo apt install python-software-properties
sudo add-apt-repository ppa:ondrej/php
sudo apt update
# найдет обновления для убунты, а именно php-7.0 на php-7.2, обновляемся.
sudo systemctl stop php7.0-fpm
sudo apt dist-upgrade
sudo apt install php7.2-fpm
sudo mv /etc/php/7.0/fpm/pool.d/* /etc/php/7.2/fpm/pool.d/
sudo systemctl disable php7.0-fpm
sudo rm /lib/systemd/system/php7.0-fpm.service
sudo rm /etc/init.d/php7.0-fpm
sudo systemctl daemon-reload
sudo rm -R /etc/php/7.0
sudo systemctl restart php7.2-fpm
sudo systemctl restart vesta

После этих манипуляций вырубается перезагрузка php-fpm из панели, (пока не разбирался в чем причина), но это пофиг, добавляя домен видим что php-fpm всетаки перезагружается, так же перезагрузку php-fpm можно проверить из консоли:
sudo service php7.2-fpm status

должна вывалиться срока:
Active: active (running) since . ago

ну и можно пощелкать, чтоб убедиться что php7.2-fpm работает:
sudo service php7.2-fpm stop
sudo service php7.2-fpm start
sudo service php7.2-fpm reload

Собственно пока это всё, глубже пока не копал, итак пашет

Как запустить php-fpm8.1 на ubuntu docker

Установил php-fpm8.1 на ubuntu, на которой стоит еще и nginx. Хочу сделать проксирование на php-fpm8.1 чтобы заработали php файлы. Настроил порты, прописал необходимые опции в конфиге, тут приводить их не буду, вопрос не о них, да и дело не в них. Проблема в том, что php-fpm8.1 не слушает порт, который я ему задал. То есть у меня в контейнере открыт только 80 порт от nginx и все. Команда service php-fpm8.1 start выводит в консоль php-fpm8.1: unrecognized service , хотя при команде php-fpm8.1 -v получаю корректный результат. Уже перерыл так много информации на эту тему, но ничего так и не нашел.

Отслеживать
задан 10 июн в 19:39
Denis Lopatin Denis Lopatin
89 7 7 бронзовых знаков

становил php-fpm8.1 на ubuntu это типа как на обычную убунту, без докера? тут приводить их не буду, вопрос не о них, да и дело не в них. — вопрос о них, дело в них. Всё это «прописывается» в докерфайл и стартует уже готовое, если вы этим пользуетесь как обычной убунту то какой смысл докер юзать?

10 июн в 20:17

@InDevX, спасибо за ответ, но вопрос был действительно не о них, и дело было совсем не в них. Хотя я понимаю, что это кажется очень странным и такие вопросы без приведения файлов конфигурации иногда вводят в ступор. Посмотрите на мой ответ)

10 июн в 20:23

На ответ нет смысла смотреть, ещё по вопросу понятно что вы докер используете не верно и не по назначению. Тут отличная аналогия это забивать гвозди микроскопом

10 июн в 20:52

@InDevX спасибо за ценный совет, я понял, что не правильно использую докер так как установил дистрибутив ubuntu вместо nginx. Учитывая, что я не использую volume и bind папок, теперь мне очень кайфово перезапускать контейнер каждый раз при перезапуске сервиса, когда я вношу изменения в файлы конфигурации. Но я пошел еще дальше — я удалил докер и скачал nginx для windows, кайфую. И что бы я без тебя делал

12 июн в 17:36

Причем тут «установил дистрибутив ubuntu вместо nginx») Можно и в 1 контейнер всё запихнуть, но это делать надо не руками через apt, а в докерфайл прописывать команды. Не желание учиться дело ваше) Правильно сделали что удалили

12 июн в 17:41

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Команда для установки — apt install php8.1-fpm , но как оно бывает с рядом других пакетов, доступно оно будет как php-fpm8.1 , то есть не по тому имени, по которому вы загружали пакет.

Когда работа идет в докере нужно учитывать следующую особенность, если вы запускаете образ дистрибутива ubuntu и устанавливаете nginx туда, то при запуске контейнера необходимо будет запустить nginx service nginx start . Теперь что касается php-fpm. В большинстве источников, я повторюсь, в подавляющем большинстве, говорится о запуске и начале работы php-fpm через команду service или аналогичные ей, но в моем случае нужно было просто прописать — php-fpm8.1 без каких либо аргументов.

Как перезагрузить Web-сервер Apache

Закажите сервер с чистой CentOS или панелью управления ispmanager всего за пару минут.

На виртуальном хостинге

Введите команду в зависимости от того, какая ОС установлена на вашем VPS: Если у вас Centos: /etc/init.d/httpd restart Если у вас Debian или Ubuntu: /etc/init.d/apache2 restart

Как узнать, какая ОС на моём сервере?

Авторизуйтесь на сайте Рег.ру и перейдите в личный кабинет. Кликните по строке нужной услуги VPS. Пролистайте страницу до блока «Операционная система»:

как перезагрузить apache 1

Чтобы перезапустить Web-сервер Apache на виртуальном хостинге, достаточно переключить версию PHP на отличную от текущей, а затем вернуть обратно: Как сменить версию PHP.

Как установить/обновить PHP 8.1 в Ubuntu/Debian

Как установить/обновить PHP 8.1 в Ubuntu/Debian

PHP 8.1 уже выпущен с новыми функциями, улучшениями и устаревшими функциональными возможностями.

На сегодняшний момент ни один из текущих репозиториев программного обеспечения Ubuntu или Debian не предлагает PHP 8.1 в своих репозиториях программного обеспечения по умолчанию. Однако Ондржей Сури продолжает делать версии PHP доступными в виде репозитория программного обеспечения Debian/Ubuntu, и теперь доступны пакеты PHP 8.1.

Прежде чем приступить к установке, необходимо ознакомиться со списком изменений и устареванием конфигурационных файлов и расширений.

Изменения расширений и зависимостей PHP 8.1

Расширение Curl поддерживает DNS через HTTPS (DoH), начиная с PHP 8.1. Для этой функции требуется Curl версии 7.62 или более поздней, и она будет недоступна в более старых версиях Debian/Ubuntu, которые не включают в себя версию Curl более позднюю, чем 7.62. Например, эта функция будет недоступна в Ubuntu 18.04.

Изменения в директиве INI PHP 8.1

  • функции date_sunrise, date_sunset и соответствующие им настройки INI — устарели
  • настройки filter.default и filter.default_options INI — устарели
  • Директива auto_detect_line_endings INI — устарела

Итак, приступим к установке PHP 8.1.

1.Перечислите существующие пакеты PHP

При обновлении существующей версии PHP проще перечислить существующие расширения PHP, установленные как пакеты программного обеспечения, чтобы они соответствовали списку расширений PHP 8.1. В системах, которые устанавливают PHP 8.1 заново, этот шаг не требуется.

dpkg -l | grep php | tee packages.txt

Эта команда выводит список всех установленных пакетов PHP, отображает их на экране и сохраняет в файл с именем packages.txt в текущем рабочем каталоге.

2. Добавить PPA ondrej/php

После добавления этого репозитория первоначальную установку и обновления можно выполнить стандартными apt командами.

sudo add-apt-repository ppa:ondrej/php # Press enter when prompted. sudo apt update
sudo apt install apt-transport-https lsb-release ca-certificates wget -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

Приведенные выше шаги добавят PPA в качестве источника пакетов, который содержит все пакеты PHP и их зависимости, такие как argon2 и libzip.

3. Установите PHP 8.1 и расширения

Все пакеты PHP 8.1 следуют шаблону php8.1-NAME. Дополнительные расширения (такие как GD, Curl и т. д.) могут быть установлены так же, в виде наименование программных пакетов (php8.1-gd, php8.1-curl и т. д.).

  • php8.1 — это мета-пакет , который коллективно устанавливает несколько зависимостей, таких, как php8.1-cli и php8.1-readline, а также некоторые вспомогательные пакеты.
  • php8.1-common — это также мета-пакет, который устанавливает большинство широко используемых расширений PHP за один раз. Он автоматически устанавливает пакет, например php8.1-pdo, php8.1-tokenizer и другие полезные расширения.
sudo apt install php8.1 php8.1-common php8.1-cli -y

Эта команда установит несколько расширений PHP — php8.1-common и CLI для PHP 8.1. После установки, можно проверить наличие установленных модулей, запустив:

php -v # Показать версию PHP . php -m # Показать установленные и загруженные модули PHP.

Вы можете установить дополнительные расширения по тому же шаблону php8.1-NAME. Обратитесь к файлу packages.txt, чтобы увидеть список существующих пакетов, если вы обновляете существующую систему. Обратите внимание, что начиная с PHP 8.0, расширение JSON входит в комплект и устанавливается неявно.

Пример установки еще нескольких полезных расширений:

sudo apt install php8.1-

Для сред разработки также могут быть установлены инструменты покрытия кода или отладчик Xdebug.

sudo apt install php8.1-pcov # PCOV code coverage tool sudo apt install php8.1-xdebug # Xdebug debugger

Внимание! Эти расширения не рекомендуется устанавливать на продакшн серверах.

В зависимости от используемого веб-сервера вам потребуется установить дополнительные пакеты для интеграции с веб-сервером.

Для использования Nginx, Litespeed и т.п. устанавливаем php8.1-fpm. Пакет обеспечивает интеграцию с PHP 8.1 через FPM:

sudo apt install php8.1-fpm

Для использования Apache mod_php установите libapache2-mod-php8.1:

sudo apt install libapache2-mod-php8.1

Обратите внимание, что обработчик Apache2 переименован из php7_module в php_module для PHP 8.0. Пакет автоматически настраивает расположение модуля Apache, но если вы обновляете с существующей установки PHP, возможно , потребуется обновление конфигурационных файлов; в частности блоки .

4. Протестируйте установку PHP 8.1

Чтобы убедиться, что все установлено, можно так же проверить установку PHP и расширений, выполните следующие команды:

php -v php -m
PHP 8.0.13 (cli) (built: Nov 22 2021 09:50:43) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.13, Copyright (c) Zend Technologies with Zend OPcache v8.0.13, Copyright (c), by Zend Technologies with Xdebug v3.1.1, Copyright (c) 2002-2021, by Derick Rethans 
[PHP Modules] apcu calendar Core ctype curl date dom exif FFI . [Zend Modules] Xdebug Zend OPcache

Очистить старые версии PHP

Если новая установка работает должным образом, вы можете удалить старые пакеты PHP из системы. Например, если вы используете PHP 8.0 в качестве предыдущей версии, сделать это можно с помощью команды (Осторожно! Не удаляйте старую версию, не убедившись, что ни одно из ваших приложений не использует эту версию):

sudo apt purge '^php8.0.*'

Запуск PHP 8.1 с другими версиями

Вместо удаления старых версий PHP можно также запускать несколько версий PHP параллельно. Команда update-alternatives обеспечивает простой способ переключения между версиями PHP для PHP CLI.

sudo update-alternatives --config php
Есть 5 вариантов для альтернативы php (предоставляет /usr/bin/php). Выбор Путь Приор Состояние ------------------------------------------------------------ 0 /usr/bin/php8.1 81 автоматический режим 1 /usr/bin/php7.2 72 ручной режим 2 /usr/bin/php7.3 73 ручной режим 3 /usr/bin/php7.4 74 ручной режим * 4 /usr/bin/php8.0 80 ручной режим 5 /usr/bin/php8.1 81 ручной режим 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *