#!/usr/bin/env bash set -e PHP_VERSION="8.5.0RC5" PHP_PREFIX="/opt/php-8.5rc5" PHP_TARBALL_URL="https://downloads.php.net/~daniels/php-8.5.0RC5.tar.gz" echo "=== PHP ${PHP_VERSION} installer for Ubuntu 24.04 ===" echo "Docelowy katalog: ${PHP_PREFIX}" sleep 1 echo "== 1/5: Aktualizacja pakietów ==" sudo apt update echo "== 2/5: Instalacja zależności build ==" sudo apt install -y \ build-essential autoconf bison re2c pkg-config \ libxml2-dev libsqlite3-dev libssl-dev libcurl4-openssl-dev \ libzip-dev zlib1g-dev libonig-dev libreadline-dev echo "== 3/5: Pobieranie źródeł PHP ${PHP_VERSION} ==" BUILD_DIR="/usr/local/src/php-${PHP_VERSION}" sudo mkdir -p "$BUILD_DIR" sudo chown "$(id -u):$(id -g)" "$BUILD_DIR" cd "$BUILD_DIR" if [ ! -f "php-${PHP_VERSION}.tar.gz" ]; then wget -O "php-${PHP_VERSION}.tar.gz" "${PHP_TARBALL_URL}" fi rm -rf "php-${PHP_VERSION}" tar xzf "php-${PHP_VERSION}.tar.gz" cd "php-${PHP_VERSION}" echo "== 4/5: Konfiguracja kompilacji ==" ./buildconf --force || true ./configure \ --prefix="${PHP_PREFIX}" \ --enable-cli \ --disable-cgi \ --enable-opcache \ --enable-mbstring \ --enable-pcntl \ --with-openssl \ --with-zlib \ --with-curl \ --with-zip \ --with-readline \ --with-sqlite3 \ --with-pdo-sqlite echo "== Kompilacja (to chwilę potrwa) ==" make -j"$(nproc)" echo "== Instalacja do ${PHP_PREFIX} ==" sudo make install echo "== 5/5: Tworzenie skrótu php85rc5 ==" if [ -x "${PHP_PREFIX}/bin/php" ]; then sudo ln -sf "${PHP_PREFIX}/bin/php" /usr/local/bin/php85rc5 else echo "Błąd: ${PHP_PREFIX}/bin/php nie istnieje." exit 1 fi echo echo "== Gotowe ==" php85rc5 -v || echo "Sprawdź, czy /usr/local/bin jest w \$PATH"