Puncte:1

Instalați PHP 7.x pe Ubuntu 16.04

drapel cn

Știu că această întrebare a fost pusă mult, dar am fost întotdeauna condus la același răspuns care nu îmi rezolvă problema.

Soluția oferită este, de obicei, după următoarele linii:

~$ sudo apt-get install software-properties-common python-software-properties;
~$ sudo add-apt-repository -y ppa:ondrej/php;
~$ sudo apt-get update;

Și s-a făcut! Dar nu in cazul meu, din pacate.

Deci, după ce am executat pașii menționați anterior, încerc să instalez „orice” versiune PHP 7.x prin apt dar se pare că pachetele pentru orice versiune de PHP nu pot fi găsite.

~$ sudo apt install php7.4;
Citirea listelor de pachete... Gata
Construirea arborelui de dependență... 50%
Construirea arborelui de dependență       
Citirea informațiilor despre stare... Gata
Notă, selectând „php7.4-gd” pentru expresia regex „php7.4”
Notă, selectând „php7.4-cli” pentru regex „php7.4”
Notă, selectând „php7.4-dom” pentru regex „php7.4”
Notă, selectând „php7.4-ffi” pentru regex „php7.4”
Notă, selectând „php7.4-ftp” pentru regex „php7.4”
Notă, selectând „php7.4-xmlreader” pentru regex „php7.4”
Notă, selectând „php7.4-mysqli” pentru regex „php7.4”
Notă, selectând „php7.4-sysvmsg” pentru expresia regex „php7.4”
Notă, selectând „php7.4-json” pentru regex „php7.4”
Notă, selectând „php7.4-phar” pentru regex „php7.4”
Notă, selectând „php7.4-tokenizer” pentru expresia regex „php7.4”
Notă, selectând „php7.4-curl” pentru regex „php7.4”
Notă, selectând „php7.4-shmop” pentru regex „php7.4”
Notă, selectând „php7.4-pdo-mysql” pentru regex „php7.4”
Notă, selectând „php7.4-sysvsem” pentru regex „php7.4”
Notă, selectând „php7.4-sysvshm” pentru regex „php7.4”
Notă, selectând „php7.4-pdo” pentru regex „php7.4”
Notă, selectând „php7.4-sockets” pentru regex „php7.4”
Notă, selectând „php7.4-ctype” pentru regex „php7.4”
Notă, selectând „php7.4-calendar” pentru regex „php7.4”
Notă, selectând „php7.4-intl” pentru regex „php7.4”
Notă, selectând „php7.4-fileinfo” pentru regex „php7.4”
Notă, selectând „php7.4-opcache” pentru regex „php7.4”
Notă, selectând „php7.4-soap” pentru regex „php7.4”
Notă, selectând „php7.4-xml” pentru regex „php7.4”
Notă, selectând „php7.4-xsl” pentru regex „php7.4”
Notă, selectând „php7.4-zip” pentru regex „php7.4”
Notă, selectând „php7.4-simplexml” pentru regex „php7.4”
Notă, selectând „php7.4-mysql” pentru regex „php7.4”
Notă, selectând „php7.4-mbstring” pentru regex „php7.4”
Notă, selectând „php7.4-readline” pentru regex „php7.4”
Notă, selectând „php7.4-exif” pentru regex „php7.4”
Notă, selectând „php7.4-mysqlnd” pentru regex „php7.4”
Notă, selectând „php7.4-common” pentru regex „php7.4”
Notă, selectând „php7.4-bcmath” pentru expresia regex „php7.4”
Notă, selectând „php7.4-posix” pentru regex „php7.4”
Notă, selectând „php7.4-iconv” pentru regex „php7.4”
Notă, selectând „libapache2-mod-php7.4” pentru regex „php7.4”
Notă, selectând „php7.4-gettext” pentru regex „php7.4”
Notă, selectând „php7.4-xmlwriter” pentru regex „php7.4”
0 actualizat, 0 nou instalat, 0 de eliminat și 0 neactualizat.

Ceea ce este, de asemenea, interesant, este că atunci când folosesc căutare apt este că chiar nu pare să existe un pachet pentru niciunul php versiune

~$ sudo apt search php7.4
Sortare... Gata
Căutare text integral... Terminat
libapache2-mod-php7.4/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

php7.4-bcmath/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

php7.4-cli/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]

  (nici unul)

php7.4-common/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

php7.4-curl/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

php7.4-gd/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

php7.4-intl/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

php7.4-json/now 7.4.13-1+ubuntu16.04.1+deb.sury.org+1 amd64 [residual-config]
  (nici unul)

... etc

Ce îmi lipsește?

Editare: după executare apt-get purge php7.4 mesajul pentru (cel puțin PHP 7.4) s-a schimbat în următorul:

~$ sudo apt-get install -y php7.4
Citirea listelor de pachete... Gata
Construirea arborelui de dependență       
Citirea informațiilor despre stare... Gata
E: Imposibil de localizat pachetul php7.4
E: Nu am putut găsi niciun pachet după globul „php7.4”
E: Nu am putut găsi niciun pachet după regex „php7.4”
drapel in
Ubuntu 18.04 este livrat cu PHP 7.2 în depozitele implicite. Aveți nevoie de 7.4 în mod specific sau va fi suficientă orice versiune din linia 7.x?
BRO_THOM avatar
drapel cn
@matigo Sunt în curs de restaurare a unui VM folosit de un dezvoltator care a creat tot felul de dependențe ciudate, așa că cea mai rapidă modalitate de a rezolva problema a fost eliminarea tuturor versiunilor php și reinstalarea lor. M-am lovit totuși de acest cucui. Anterior au fost instalate 7.0, 7.2, 7.2, 7.3, 7.4 și 8.0. Dar da, scopul este să instalezi orice versiune.
drapel in
VM-urile sunt, în general, cel mai bine tratate ca obiecte de unică folosință, așa că poate fi mai rapid să mergeți „pământ ars” și să începeți din nou. Acestea fiind spuse, dacă insistați să păstrați această VM, ce versiune de PHP doriți să aveți instalată? 7.2 implicit sau altceva?
BRO_THOM avatar
drapel cn
@matigo din păcate nu va fi posibil, și eu sunt doar un simplu dev și nu avem proceduri / imagini virtuale pentru a le reinstala. Ca să nu mai vorbim de toate celelalte pachete care sunt necesare. În plus, VM-ul este „încă în uz”.
BRO_THOM avatar
drapel cn
@matigo Lol, am apăsat pe Enter, așa că comentariul meu a fost trimis, oricum. Aș prefera atât 7.3, cât și 7.4. Cum as proceda pentru a le instala? Din câte am înțeles, folosirea `apt` este practic singura modalitate.
drapel in
Privind mesajul de la apt și comentariile tale, se pare că PHP 7.4 (și poate alte cinci versiuni) este deja instalat pe sistem. Rularea unui „apt install” va afișa mesajul de mai sus dacă software-ul este deja instalat și actualizat. Întâmpinați probleme la comutarea între versiuni?
BRO_THOM avatar
drapel cn
Cealaltă versiune a @matigo a fost eliminată anterior folosind comanda `apt-get remove php7.x` și nu par să mai fie nicăieri în sistem, așa că se pare că au fost dezinstalate corect.
BRO_THOM avatar
drapel cn
@matigo doar pentru a fi sigur, am verificat să văd dacă pot primi un alt mesaj de la `apt-get remove php7.4`, dar pur și simplu spune `0 actualizat, 0 nou instalat, 0 pentru a elimina și 0 nu a fost actualizat.`
BRO_THOM avatar
drapel cn
@matigo, de asemenea, tocmai am observat că mediul este pe Ubuntu 16.04 în loc de 18.04 menționat mai sus.
drapel in
16.04 este EOL și nu mai am nicio instanță a acelui sistem cu care să testez soluții. Vă sfătuiesc *cu tărie* să descărcați un fișier .iso 20.04 LTS și să construiți un nou VM pentru ca echipa de dezvoltare să o utilizeze. Considerați aceasta o experiență de învățare bună, care va adăuga valoare pe care o aduceți echipei
BRO_THOM avatar
drapel cn
Ai dreptate. Aparent, întreținătorul pentru pachetele Ubuntu PHP a încetat suportul pentru 16.04
Puncte:2
drapel cn

Pentru oricine este interesat;

Suportul PHP pentru Ubuntu xenial 16.04 a scăzut din 2021-06-10.Am aflat asta la greu când am încercat să instalez module / versiuni PHP pe alte mașini virtuale care folosesc 16.04 și se pare că „nu am putut găsi pachete” când altă mașină le instalase anterior cu ușurință.

Există o postare pe stackoverflow care descrie acest lucru: https://stackoverflow.com/questions/67920506/unable-to-install-php-7-4-on-ubantu-16-04-even-with-ondrej-ppa-repository-in-apa

Levente avatar
drapel cn
Orice suport standard pentru 16.04 a fost abandonat, inclusiv corecțiile de securitate ale sistemului de operare și ale aplicațiilor: https://meta.askubuntu.com/q/19582/1157519 Acest lucru marchează, de asemenea, această ediție ca fiind în afara subiectului acestui site web. Vezi mai multe despre asta și mai multe despre opțiunile tale în comentariile mele aici și mai jos: https://askubuntu.com/questions/1342277/how-to-change-colour-of-dialogue-window#comment2293435_1342277
BRO_THOM avatar
drapel cn
@Levente poate ar fi o idee să arhivezi acest thread, deși din cauza semnificației sale în zilele următoare pentru dezvoltatorii/administratorii care folosesc software vechi?
Levente avatar
drapel cn
Nu depinde de mine să decid... Am vrut doar să subliniez că, pentru a fi în siguranță, fie trebuie să faceți upgrade la o versiune acceptată, fie să vă abonați în mod explicit la suport extins.
drapel cl
A trebuit să dezinstalez 7.4 și apoi să reinstalez, care a început brusc să eșueze și îmi ieșeam din minți încercând să-mi dau seama de ce până când am văzut acest răspuns. Credeam că sunt pe 18.04, dar asta m-a făcut să verific și hopa... încă 16.04.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.