Get Social

Сборка PHP 7.4 с помощью phpbrew на сервере Ubuntu/Debian (Vesta CP)

Возникла задача поставить PHP 7.4 на сервер Ubuntu (также можно и на Debian). Ставить буду через phpbrew с учётом того, что используется Vesta CP для управления сервером.

Предварительная подготовка phpbrew на сервере Ubuntu/Debian под управлением Vesta CP

1. Перейдём в папку /root

cd /root

2. Подготовим phpbrew для компиляции. Ставить будем в альтернативную папку: /usr/local/php

phpbrew init --root=/usr/local/php
  
export PHPBREW_ROOT=/usr/local/php

[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc

phpbrew update

3. При первой попытке собрать PHP 7.4 у меня выдало ошибку.

ошибка сборки Phpbrew на Vesta (Debian/Ubuntu) – “No package oniguruma found” (pkg-config)

Как побороть?

Сначала находим и ставим нужный пакет, который требуется для удовлетворения зависимости:

# apt search oniguruma
Sorting... Done
Full Text Search... Done
libjruby-joni-java/oldstable,oldstable 2.1.11-2 all
 Java port of Oniguruma regexp library

libonig-dev/oldstable,oldstable,now 6.1.3-2 amd64 [installed]
 regular expressions library — development files

libonig4/oldstable,oldstable,now 6.1.3-2 amd64 [installed,automatic]
 regular expressions library

libonig4-dbg/oldstable,oldstable 6.1.3-2 amd64
 regular expressions library — debugging symbols

lua-rex-onig/oldstable,oldstable 2.7.2-4 amd64
 Onig regular expressions library for the Lua language

Ставится командой:

apt install libonig-dev

Затем редактируем команду сборки, учитывая, что пишут на GitHub:

Вот готовая команда для сборки:

phpbrew install 7.4 +default +openssl=shared -- --with-openssl-dir=/usr/include/openssl --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysql=mysqlnd --with-mysqli=mysqlnd --enable-pdo --with-pdo-mysql=mysqlnd --enable-exif --with-jpeg=/usr --with-freetype=/usr --with-mcrypt=/usr --with-mhash --with-xsl=/usr --enable-zip --enable-cgi --with-curl --enable-gd --enable-pcntl --enable-mbregex --enable-gd-native-ttf --with-libdir=lib64 --enable-dba=shared --enable-intl --with-readline=/usr --enable-simplexml --enable-soap --enable-zip --with-mhash=yes --enable-shmop --enable-sockets --enable-wddx --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-bcmath --with-bz2 --enable-ctype --with-cdb --with-iconv --enable-exif --enable-ftp --with-gettext --with-pic

В конце создадим символическую ссылку, чтобы потом настроить конфигурацию в Vesta CP:

ln -s /usr/local/php/php/php-7.4.8 /usr/local/php/php74