Aggiornamento a PHP 8.4 (TLI2)

Ti piacciono il sito e la community? Questo è il posto giusto per lasciare commenti, suggerimenti e... critiche.
Regole del forum
Rispondi
Avatar utente
Zane
Fondatore
Fondatore
Messaggi: 5104
Iscritto il: mer mag 01, 2013 11:20 am
Contatta:

Aggiornamento a PHP 8.4 (TLI2)

Messaggio da Zane »

Ho iniziato i lavori per l'aggiornamento a PHP 8.4 nel branch dev-php8.4. Purtroppo, però, non è possibile fare un upgrade diretto, in quanto:
  1. PHP 8.4 ha rimosso l'estensione ext-imap
  2. tale estensione è richiesta da ddeboer/imap, che usiamo nel comando di auto-unsubscribe della newsletter
  3. l'estensione è abbandonata, ma disponibile via PEAR/Pecl
Allora ho provato a installare l'estensione via PECL:

Codice: Seleziona tutto

fxTitle "Checking if PECL is installed (required to get ext-imap on PHP 8.4+)..."

if dpkg -l | grep -q "php-pear"; then

  fxOK "PECL is already installed"

else

  fxInfo "Installing PECL now..."
  apt update && apt install php-pear php${PHP_VER}-dev -y
fi


fxTitle "Checking if ext-imap is installed via PECL (required on PHP 8.4+)..."
pecl channel-update pecl.php.net

if pecl list | grep -q "imap"; then

  fxOK "ext-imap is already installed"

else

  fxInfo "No, it isn't. Installing it now..."
  pecl install imap
fi
Ma così proprio non ci siamo: pecl richiede "phpize", che sta nel pacchetto "php-dev", il quale a sua volta ha una serie di dipendenze lunga un braccio (e che non voglio). E comunque alla fine mi ha dato errore:
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
ERROR: `/tmp/pear/temp/imap/configure --with-php-config=/usr/bin/php-config --with-kerberos=y --with-imap-ssl=y' failed
Ho abbandonato, anche perché sarebbe solo un modo per mantenere la retrocompatibilità, e non per "andare avanti".

La "vera" soluzione, che ho già iniziato nel branch, è sostituire ddeboer/imap con webklex/php-imap. Quest'ultima non richiede ext-imap. E' poi necessario adattare il comando EmailBounceManagerCommand per invocare le nuove funzioni del pacchetto.

Issue #50
Zane - TurboLab.it
Rispondi
  • Argomenti simili
    Risposte
    Visite
    Ultimo messaggio