runtime/build_php8.sh
Adam Štrauch 74ea47288e
All checks were successful
Test build / build (push) Successful in 27m40s
Fix PHP build
2024-10-08 12:16:00 +02:00

92 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
set -e
VERSION=$1
mkdir -p /opt/techs
cd /usr/src
wget https://www.php.net/distributions/php-$VERSION.tar.bz2
tar xf php-$VERSION.tar.bz2
rm php-$VERSION.tar.bz2
test -e /usr/lib/x86_64-linux-gnu/libc-client.a || ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
cd php-$VERSION
./configure --enable-fpm --with-mysqli --prefix=/opt/techs/php-$VERSION \
--with-config-file-path=/opt/techs/php-$VERSION/etc \
--with-config-file-scan-dir=/opt/techs/php-$VERSION/etc/conf.d/ \
--sbindir=/opt/techs/php-$VERSION/bin \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype \
--enable-mbstring \
--enable-soap \
--enable-calendar \
--with-curl \
--with-zlib \
--enable-gd \
--with-zip \
--with-pgsql \
--disable-rpath \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--with-pdo-mysql \
--with-jpeg \
--with-openssl \
--with-fpm-user=app\
--with-fpm-group=app\
--with-libdir=/lib/x86_64-linux-gnu \
--enable-ftp \
--with-gettext \
--with-xsl \
--enable-opcache \
--with-imap \
--with-imap-ssl \
--with-sodium \
--with-kerberos \
--with-pear \
--enable-intl \
--with-webp
make -j
make install
mkdir -p /opt/techs/php-$VERSION/etc/conf.d/
ln -s /srv/conf/php-fpm/php.ini /opt/techs/php-$VERSION/etc/conf.d/app.ini
cd /opt/techs/php-$VERSION/bin
curl -s https://getcomposer.org/installer | ./php -d allow_url_fopen=On
cd -
echo "no" | /opt/techs/php-$VERSION/bin/pecl install redis
echo "no" | /opt/techs/php-$VERSION/bin/pecl install mongodb
export PATH=$PATH:/opt/techs/php-$VERSION/bin
composer.phar require ext-simplexml
echo "zend_extension=opcache.so" > /opt/techs/php-$VERSION/etc/conf.d/extensions.ini
echo "extension=redis.so" >> /opt/techs/php-$VERSION/etc/conf.d/extensions.ini
echo "extension=mongodb.so" >> /opt/techs/php-$VERSION/etc/conf.d/extensions.ini
# Not supported yet
# https://github.com/Imagick/imagick/issues/358
# We ignore PHP 8.3.2 until it's fixed
if [ "$VERSION" != "8.3.2" -a "$VERSION" != "8.3.6" -a "$VERSION" != "8.3.9" -a "$VERSION" != "8.3.12" ]; then
echo "no" | /opt/techs/php-$VERSION/bin/pecl install imagick
echo "extension=imagick.so" >> /opt/techs/php-$VERSION/etc/conf.d/extensions.ini
fi
ln -s /srv/conf/php-fpm/php.ini /opt/techs/php-$VERSION/etc/conf.d/99-app.ini