Fix when installing PHP dependencies

This commit is contained in:
eroncero
2025-08-05 11:32:48 +02:00
parent 2f847a6dbe
commit 7de989dbde
3 changed files with 67 additions and 40 deletions

2
.env
View File

@@ -14,4 +14,4 @@ NGINX_HTTPS_IPV6_PORT=8843
NGINX_CONTAINER_HTTP_PORT=80
NGINX_CONTAINER_HTTPS_PORT=443
PHP_VERSIONS= # Set this without quotes! example: 8.1 7.1 7.3
PHP_VERSIONS=

0
del_vols.sh Normal file → Executable file
View File

View File

@@ -4,48 +4,75 @@ set -e
export DEBIAN_FRONTEND=noninteractive
export DEBCONF_NONINTERACTIVE_SEEN=true
# Validate required variables
if [ -z "${PHP_VERSIONS:-}" ]; then
echo "ERROR: PHP_VERSIONS environment variable is not set" >&2
exit 1
fi
if [ -z "${DEF_PHP_INTERPRETER:-}" ]; then
echo "ERROR: DEF_PHP_INTERPRETER environment variable is not set" >&2
exit 1
fi
# Verify package availability before installation
apt-get update
# Install each PHP version with validation
for version in $PHP_VERSIONS; do
echo "Installing PHP $version..."
apt-get install -y \
php$version-fpm \
php$version-bcmath \
php$version-bz2 \
php$version-common \
php$version-curl \
php$version-dba \
php$version-enchant \
php$version-gd \
php$version-gmp \
php$version-http \
php$version-imap \
php$version-interbase \
php$version-intl \
php$version-ldap \
php$version-mbstring \
php$version-memcache \
php$version-memcached \
php$version-mysql \
php$version-odbc \
php$version-opcache \
php$version-pgsql \
php$version-ps \
php$version-pspell \
php$version-raphf \
php$version-readline \
php$version-snmp \
php$version-soap \
php$version-sqlite3 \
php$version-stomp \
php$version-sybase \
php$version-tidy \
php$version-xdebug \
php$version-xml \
php$version-xsl \
php$version-zip
# Validate version format (X.Y)
if ! echo "$version" | grep -Eq '^[0-9]+\.[0-9]+$'; then
echo "ERROR: Invalid PHP version format '$version'" >&2
exit 1
fi
echo "Installing PHP $version packages..."
if ! apt-get install -y \
php${version}-fpm \
php${version}-bcmath \
php${version}-bz2 \
php${version}-common \
php${version}-curl \
php${version}-dba \
php${version}-enchant \
php${version}-gd \
php${version}-gmp \
php${version}-http \
php${version}-imap \
php${version}-interbase \
php${version}-intl \
php${version}-ldap \
php${version}-mbstring \
php${version}-memcache \
php${version}-memcached \
php${version}-mysql \
php${version}-odbc \
php${version}-opcache \
php${version}-pgsql \
php${version}-ps \
php${version}-pspell \
php${version}-raphf \
php${version}-readline \
php${version}-snmp \
php${version}-soap \
php${version}-sqlite3 \
php${version}-stomp \
php${version}-sybase \
php${version}-tidy \
php${version}-xdebug \
php${version}-xml \
php${version}-xsl \
php${version}-zip; then
echo "ERROR: Failed to install PHP $version packages" >&2
exit 1
fi
done
update-alternatives --set php /usr/bin/php$DEF_PHP_INTERPRETER
# Set default PHP version with validation
if ! update-alternatives --set php "/usr/bin/php${DEF_PHP_INTERPRETER}"; then
echo "ERROR: Failed to set default PHP interpreter to $DEF_PHP_INTERPRETER" >&2
exit 1
fi
/bin/sh /entrypoint/start-php-fpm.sh
# Start PHP-FPM services
exec /bin/sh /entrypoint/start-php-fpm.sh