Dopo Ubuntu 18.04 aggiornamento php7.2-curl non può essere installato

Aggiornato a 18.04 dal 16.04 oggi utilizzando do-release-upgrade -d

Durante l’aggiornamento mi è stato comunicato che alcuni pacchetti saranno rimossi, questi inclusi:

Rimuovere: libperl5.22 lxc-comune perl-modules-5.22 php-imagick
php7.1-curl php7.2-curl python3-certbot-nginx

Ho potuto re-installare imagick e certbot senza problema, ma se provo a installare php7.2-curl ottengo il messaggio:

# apt install php7.2-curl -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php7.2-curl : Depends: php7.2-common (= 7.2.3-1ubuntu1) but 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Come posso risolvere la situazione?

  • sudo apt-get install curl tuo tring per installare una versione vecchia per qualche motivo
  • curl di php-curl non sono la stessa cosa. Ho tutti i miei php7.2 pacchetti, e per qualche motivo php7.2-curl è rallentata a causa di questa versione non corretta di dipendenza (credo). Io non sono sicuro che siete sulla strada giusta qui @smith
  • dopo l’aggiornamento è necessario aggiungere di nuovo il pacchetto da ondrej “add-apt-repository ppa:ondrej/php” e poi solo “apt-get update” e apt-get upgrade
InformationsquelleAutor Arni J | 2018-05-08

 

3 Replies
  1. 58

    Questo consente di risparmiare:

    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    sudo apt install php7.2-fpm php7.2-gd php7.2-curl php7.2-mysql php7.2-dev php7.2-cli php7.2-common php7.2-mbstring php7.2-intl php7.2-zip php7.2-bcmath

    Poi sudo service apache2 restart

    • perché installare vecchie versioni di curl? la sua 7.58 confezionato con Bionic
    • Questo ha fatto il trucco. Il mio Ppa, erano ancora lì, ma per Bionic. In modo da ri-aggiungere il mio Ppa e facendo apt update/upgrade e quindi l’installazione di php7.2-curl mi ha fatto tornare per un buono stato 🙂
    • anche riavviare il server sudo service apache2 restart
    • Grazie, hai salvato il mio tempo
    • esattamente quello che avevo bisogno di ottenere tutte le necessarie estensioni di php. Thaks
    • questa non è una buona soluzione per ora, la causa di questo pacchetto – php7.2-curl – vuole libcurl3, invece di libcurl4

  2. 2

    Non hai bisogno di aggiungere un nuovo repository. Basta fare questo e la versione 7.2 verrà installato. Ricordati di riavviare php e apache dopo. Inoltre, assicurarsi (hai prob è stato già fatto, però) per attivare il nuovo mod dopo:

    sudo apt install php-curl
    sudo a2enmod php7.2

    Noterete anche che probabilmente alla fine dell’installazione di php-curl (che installa php-curl e php7.2-curl) seguente (si noti che ho FPM installazione, potrebbe essere diversa se non si utilizza FPM):

    NOTICE: Not enabling PHP 7.2 FPM by default.
    NOTICE: To enable PHP 7.2 FPM in Apache2 do:
    NOTICE: a2enmod proxy_fcgi setenvif
    NOTICE: a2enconf php7.2-fpm
    NOTICE: You are seeing this message because you have apache2 package installed.

    Modo da fare quello che dice:

    sudo a2enmod proxy_fcgi setenvif
    sudo a2enconf php7.2-fpm
    sudo systemctl restart apache2.service
    • Qualcuno può chiarire il downvote e perché questo non funziona? Non fraintendetemi, io avrei downvoted, ma sembra che dovrebbe funzionare…semplicemente non. Io con voto positivo Anson Wong risposta, perché questo è ciò che ha ottenuto questo lavoro per me, dopo aver provato questo percorso prima, che sembrava il metodo più probabile di ottenere i moduli. Ho ignorato il Apache roba dato che io sono in esecuzione Nginx, ma questa sembrava una variazione di questo avrebbe funzionato meglio di installazione da un PPA.
    • Grazie, dopo l’aggiornamento a 18.04 mio nignx è stato impostato per utilizzare php7.0-fpm, senza php_curl in fase di caricamento, anche se è stato installato e fatto riferimento in php.ini. Finalmente ho aggiornato a php7.2-fpm e il problema risolto stessa.
    • Ho downvoted perché la domanda non è su Apache. E non so il tempo che la risposta è stato pubblicato, ma da ora, sudo apt install php-curl molto sicuramente non è l’installazione di php7.2-curl (è 7.3, attualmente). Nel mio caso, ho bisogno di una riga di comando in php per essere in grado di eseguire php7.2-curl quando Apache è in esecuzione su php7.3
  3. 0

    Installazione libcurl4 lavorato per me utilizzando

    apt install libcurl4

    Poi installato php7.2-curl, riavviare apache2 senza un problema.

Lascia un commento