Puncte:0

upgrade_status - eroare neașteptată despre versiunea PHP

drapel ru

Fac lucrări pregătitoare pentru actualizarea unui site de la D8 la D9...

Site-ul de dezvoltare Drupal (macOS 10.14.6 servit cu Laravel Vagrant) rulează PHP 7.3.28, atât pe linia de comandă, cât și pe php-fpm, și văd versiunea corectă cu php --version și la /admin/rapoarte/status

Și totuși, ori de câte ori îmi scanez modulele personalizate prin interfața de utilizare upgrade_status, primesc în mod constant:

Comanda PHPStan a eșuat:

/Users/wt/Sites/sitename/vendor/bin/phpstan analyze --error-format=json -c /tmp/upgrade_status/deprecation_testing.neon /Users/wt/Sites/sitename/web/modules/custom/snape 2> /tmp/upgrade_status/phpstan_error_output

Ieșire comandă:

Gol.

Eroare de comandă:

Eroare fatală: Composer a detectat probleme în platforma dvs.: dependențele dvs. de Composer necesită o versiune PHP „>= 7.3.0”. Executați 7.1.33. în /Users/wt/Sites/sitename/vendor/composer/platform_check.php pe linia 24

Dacă rulez phpstan manual folosind prima comandă, funcționează (deși în mod enervant, ieșirea JSON este trunchiată).

Am trecut prin această întrebare de asemenea.

  • adăugând "config": { "platform-check": false } nu merge
  • adăugând "config": { "platformă": { "php": "7.4" } nu merge

Am verificat dacă utilizatorul PHP rulează ca; sunt eu, la fel ca prin CLI. am facut si eu care php versiune pe o grămadă de alți utilizatori posibili și toți merg la /usr/local/bin/php, care are versiunea PHP corectă.

Am instalat drupal/core-dev și phpunit pentru a încerca să evit orice probleme cu modulul upgrade_status. Am cea mai recentă versiune a ei.

Funcționează corect în producție (Debian 10).

Puncte:1
drapel cn

Alerga compozitor -vvv despre. Găsiți linia care arată astfel:

„Rulează X.X.X (XXXX) cu PHP X.X.XX pe XXXX”.

Acest lucru vă va spune ce folosește php composer. Dacă aceasta este diferită, uneori trebuie să forțați versiunea php pe care doriți să o utilizați fie prin bashrc, fie prin altă metodă. De exemplu, am un site găzduit pe un server cpanel cu multiphp și am asta într-un fișier .bashrc:

alias php="/usr/local/bin/ea-php74"
alias composer="php /opt/cpanel/composer/bin/composer"

Notă: Pe același server cpanel, am reușit să rezolvăm acest lucru la nivel global setând sistemul php la php 7.4. Împreună cu asta, ne-am asigurat că adăugăm acest lucru la fiecare proiect de compozitor, așa că, chiar dacă sistemul PHP este mai mare, putem spune compozitorului ce dep-uri să instaleze:

"config": {
  „platformă”: {
    "php": "7.4"
  }
},
drapel ru
În cazul meu, asta îmi oferă și versiunea corectă, iar codificarea platformei în composer.json nu face o diferență... Voi edita întrebarea, dar deocamdată rulez scanările în producție (un Debian server) pentru a identifica erorile.
drapel cn
După ce codificați platforma php în composer json, asigurați-vă că executați o „actualizare a compozitorului”.

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.