Install php linux server

Установка на Unix-системы

Этот раздел описывает установку и настройку PHP на Unix-системах. Пожалуйста, прочитайте все разделы, касающиеся вашей платформы или веб-сервера, прежде чем вы приступите к установке.

Как сказано в разделе Общие указания по установке, в этом разделе в основном мы описываем установку PHP, ориентированную на веб, однако мы также затрагиваем установку PHP для использования в командной строке.

Есть несколько способов установки PHP на Unix платформы. Один из них — процесс конфигурирования и компиляции исходников, другой — установка из пакетов. Этот документ сфокусирован на установке из исходных кодов. Много Unix-подобных систем имеют различные системы установки программ из пакетов. Они могут помочь при установке стандартных конфигураций, но если вам необходимы другие варианты (такие как безопасный сервер или другой драйвер базы данных), вам может потребоваться скомпилировать PHP и/или ваш веб-сервер. Если вы незнакомы с компилированием собственного программного обеспечения, то, может быть, стоит поискать готовый пакет PHP с нужными вам возможностями, собранный кем-нибудь ещё.

  • Базовые знания Unix (способность обращаться с «make» и компилятором C)
  • Компилятор ANSI C
  • Веб-сервер
  • Любые компоненты, специфичные для отдельных модулей PHP (такие как библиотеки GD , PDF и т.д.)
  • autoconf: 2.59+ (для PHP >= 7.0.0), 2.64+ (для PHP >= 7.2.0)
  • automake: 1.4+
  • libtool: 1.4.x+ (кроме версии 1.4.2)
  • re2c: 0.13.4+
  • bison:
    • PHP 7.0 — 7.3: 2.4 и выше (включая Bison 3.x)
    • PHP 7.4: > 3.0

    Общая (или начальная) конфигурация PHP задаётся параметрами скрипта configure. Вы можете просмотреть список допустимых параметров вместе с их кратким пояснением при помощи команды ./configure —help. Различные опции документированы в данном руководстве отдельно, список основных параметров можно просмотреть в приложении Основные параметры конфигурации, тогда как параметры, специфичные для различных модулей, описаны на страницах документации, посвящённых этим модулям.

    Когда PHP сконфигурирован, все готово к сборке модулей и/или исполняемых файлов. Об этом должна позаботиться команда make. Если что-то не получилось и вы не можете понять почему, смотрите раздел Проблемы установки.

    Замечание:

    Некоторые Unix системы (такие как OpenBSD и SELinux) могут запрещать, из соображений безопасности, выделение памяти одновременно как записываемой и исполняемой. Это называется PaX MPROTECT или нарушение защиты W^X. Тем не менее, такой режим выделения памяти необходим для поддержки JIT компиляции PCRE JIT, так что в таких случаях необходимо собирать PHP без поддержки JIT компиляции PCRE, либо бинарные файлы должны быть внесены в белый список операционной системы,

    Замечание: Кросс-компиляция под ARM с помощью «Android toolchain» на данный момент не поддерживается.

    Источник

    Как установить PHP 8.2 на Ubuntu 22.04 с Nginx или Apache

    В этой статье мы рассмотрим этапы установки PHP 8.2 на Ubuntu 22.04|20.04|18.04. Версия PHP по умолчанию, доступная в репозиториях ОС, обычно старше последних официальных выпусков PHP. Репозитории программного обеспечения PPA (Personal Package Archive) для PHP позволяют вам устанавливать более новые версии PHP в вашей системе Ubuntu, которые недоступны в официальных репозиториях дистрибутива Linux.

    Шаг 1: Обновите систему Ubuntu#

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

    sudo apt update && sudo apt -y upgrade 

    Очистите кеш APT после обновления.

    Проверьте, требуется ли перезагрузка, и действуйте соответствующим образом.

    [ -f /var/run/reboot-required ] && sudo reboot -f 

    Сведения о выпуске ОС можно проверить с помощью приведенных здесь команд.

    $ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy 

    Шаг 2: Добавьте репозиторий Surý PHP APT#

    Чтобы установить пакеты PHP 8.2 в Ubuntu, мы будем использовать PHP PPA Ондржея Сури, который предоставляет последние стабильные версии PHP для систем Ubuntu и Debian.

    Установите несколько пакетов зависимостей перед добавлением репо.

    sudo apt update sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common 

    Выполните следующие команды в своем терминале, чтобы добавить Surý PPA в вашу систему.

    sudo add-apt-repository ppa:ondrej/php 

    Ожидается успешное выполнение команды.

    PPA publishes dbgsym, you may need to include 'main/debug' component Repository: 'deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu/ jammy main' Description: Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided. Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa You can get more information about the packages at https://deb.sury.org IMPORTANT: The -backports is now required on older Ubuntu releases. BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/#bug-reporting CAVEATS: 1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman 2. If you are using apache2, you are advised to add ppa:ondrej/apache2 3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline or ppa:ondrej/nginx PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/ WARNING: add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround: # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php More info: https://launchpad.net/~ondrej/+archive/ubuntu/php Adding repository. Press [ENTER] to continue or Ctrl-c to cancel. Adding deb entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list Adding disabled deb-src entry to /etc/apt/sources.list.d/ondrej-ubuntu-php-jammy.list Adding key to /etc/apt/trusted.gpg.d/ondrej-ubuntu-php.gpg with fingerprint 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C Hit:1 https://mirror.hetzner.com/ubuntu/packages jammy InRelease Hit:2 https://mirror.hetzner.com/ubuntu/packages jammy-updates InRelease Hit:3 https://mirror.hetzner.com/ubuntu/packages jammy-backports InRelease Hit:4 https://mirror.hetzner.com/ubuntu/security jammy-security InRelease Get:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease [23.9 kB] Get:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages [108 kB] Get:7 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main Translation-en [33.3 kB] Fetched 166 kB in 1s (120 kB/s) Reading package lists. Done 

    Вы можете вручную подтвердить, работает ли репозиторий, выполнив команду apt update.

    $ sudo apt update Hit:1 https://mirror.hetzner.com/ubuntu/packages jammy InRelease Hit:2 https://mirror.hetzner.com/ubuntu/packages jammy-updates InRelease Hit:3 https://mirror.hetzner.com/ubuntu/packages jammy-backports InRelease Hit:4 https://mirror.hetzner.com/ubuntu/security jammy-security InRelease Hit:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy InRelease Reading package lists. Done Building dependency tree. Done Reading state information. Done 

    Шаг 3: Установите PHP 8.2 на Ubuntu 22.04/20.04/18.04#

    После добавления PPA используйте команду apt для установки PHP 8.2 и любых других связанных модулей PHP на сервере Ubuntu.

    Примите установку пакета в соответствии с запросом через приглашение.

    The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils bzip2 file libapache2-mod-php8.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.3-0 mailcap mime-support php-common php8.2-cli php8.2-common php8.2-opcache php8.2-readline ssl-cert Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser bzip2-doc php-pear The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils bzip2 file libapache2-mod-php8.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.3-0 mailcap mime-support php-common php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline ssl-cert 0 upgraded, 21 newly installed, 0 to remove and 2 not upgraded. Need to get 6,990 kB of archives. After this operation, 29.8 MB of additional disk space will be used. Do you want to continue? [Y/n] y 

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

    Шаг 4: Установите модули PHP 8.2 в Ubuntu#

    Модули PHP — это программные библиотеки, созданные для расширения функциональности PHP. Эти модули обычно написаны на C, и вы можете динамически загружать их в PHP или компилировать как общие объекты.

    Если вы хотите установить модули PHP 8.2 в системе Ubuntu, используйте диспетчер пакетов apt с приведенным здесь синтаксисом команды:

    В этом примере мы устанавливаем модуль fpm PHP 8.2 из добавленного ранее PPA.

    $ sudo apt install php8.2-fpm Reading package lists. Done Building dependency tree. Done Reading state information. Done Suggested packages: php-pear The following NEW packages will be installed: php8.2-fpm 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 1,886 kB of archives. After this operation, 5,756 kB of additional disk space will be used. Get:1 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.2-fpm amd64 8.2.1-2+ubuntu22.04.1+deb.sury.org+1 [1,886 kB] Fetched 1,886 kB in 0s (5,211 kB/s) Selecting previously unselected package php8.2-fpm. (Reading database . 56412 files and directories currently installed.) Preparing to unpack . /php8.2-fpm_8.2.1-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb . Unpacking php8.2-fpm (8.2.1-2+ubuntu22.04.1+deb.sury.org+1) . Setting up php8.2-fpm (8.2.1-2+ubuntu22.04.1+deb.sury.org+1) . . 

    Установка часто используемых модулей.

    Список установленных модулей можно просмотреть командой:

    $ php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dom exif FFI fileinfo filter ftp gd gettext hash iconv intl json ldap libxml mbstring mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_pgsql pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer xml xmlreader xmlwriter xsl Zend OPcache zip zlib [Zend Modules] Zend OPcache 

    Шаг 5: Использование PHP с веб-сервером Nginx/Apache#

    Мы рассмотрим конфигурации веб-серверов Nginx и Apache для размещения вашего PHP-приложения.

    Размещение PHP-приложения на веб-сервере Nginx

    В Nginx код PHP обычно выполняется отдельным процессом, например PHP-FPM (FastCGI Process Manager). PHP-FPM — это демон, который прослушивает входящие запросы PHP и запускает их в отдельном процессе. Nginx просто перенаправляет входящие запросы в PHP-FPM, где они выполняются.

    Установите веб-сервер Nginx и расширение FPM.

    sudo apt install nginx php8.2-fpm 

    Откройте конфигурацию вашего сервера Nginx и добавьте следующий блок в блок http , чтобы настроить PHP-запросы, которые будут пересылаться для выполнения PHP-FPM:

    $ sudo vim /etc/nginx/nginx.conf server < listen 80; server_name mysite.example.com; root /var/www/mysite; index index.php index.html; location ~ \.php$ < include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; >> 

    Подтвердите, что конфигурация Nginx в порядке.

    $ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 

    Размещение PHP-приложения на веб-сервере Apache

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

    Но сначала вам нужно установить пакет веб-сервера Apache, PHP и расширение Apache PHP:

    sudo apt install apache2 libapache2-mod-php8.2 

    Перезапустите веб-сервер Apache после настройки.

    sudo systemctl restart apache2 

    Подведение итогов#

    В заключение, установка PHP 8.2 в системе Ubuntu 22.04/20.04/18.04 Linux — это простой процесс. Мы начали с добавления PHP PPA Ондржея Сурого в исходники пакетов системы, что позволило нам установить PHP 8.2 и другие модули. Добавление стороннего PPA к рабочему серверу может привести к риску стабильности и безопасности, и их всегда следует использовать с осторожностью. Если вы выполняете обновление PHP, рассмотрите возможность резервного копирования важных файлов перед обновлением вашей системы на случай, если что-то пойдет не так в процессе обновления.

    Если вам понравился этот пост о том, как установить PHP 8.2 на Ubuntu 22.04, поделитесь им с друзьями в социальных сетях. Спасибо.

    Источник

    Читайте также:  Linux desktop operating systems
Оцените статью
Adblock
detector