Возникла задача поставить 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