Puncte:0

„Avertisment PHP: require(drupal.php): nu s-a putut deschide fluxul”

drapel bj

Am creat două noi instalări de Drupal, una versiunea 8.9.17 și cealaltă 9.2.3 și am încercat să fac consola Drupal să funcționeze, astfel încât să pot genera un modul.

Am folosit următoarea comandă în Composer și am descărcat-o cu succes.

compozitorul necesită drupal/consolă:~1.0 \
--prefer-dist \
--optimize-autoloader \
--sort-packages \
--no-actualizare

Apoi executați următoarele pentru a evita o eroare de conflict Symphony.

actualizare a compozitorului

Acest lucru a descărcat fișierele și dependențele relevante, dar când încerc să le accesez din linia de comandă (vezi mai jos)

$ ../../../../vendor/bin/drupal

Primesc următoarea eroare.

Avertisment: require(drupal.php): nu s-a putut deschide fluxul: Nu există un astfel de fișier sau directorul din C:\xampp\htdocs\nume_proiect\furnizor\bin\drupal(21): Codul eval() pe linia 3 PHP Eroare fatală: require(): Eșuat este necesară deschiderea „drupal.php” (include_path='C:\xampp\php\PEAR') în C:\xampp\htdocs\nume_proiect\furnizor\bin\drupal(21): codul eval() pe linie 3

Eroare fatală: require(): Este necesară deschiderea eșuată „drupal.php” (include_path='C:\xampp\php\PEAR') în C:\xampp\htdocs\nume_proiect\furnizor\bin\drupal(21): eval()'d cod pe linia 3

M-am uitat pe site-ul consolei Drupal și sfatul a fost

Acest lucru poate fi cauzat de extensia încărcător ioncube

Deoarece lucrez cu Xammp pe Windows 10, ioncube nu este disponibil implicit în fișierul php.ini. Ce ar trebui să caut pentru a rezolva asta?

EDITAȚI | × Mi s-a subliniat că Drush include acum generarea de comenzi și ar trebui folosit în locul consolei Drupal, care pare a fi învechită.

drapel cn
Am auzit ultima dată (în urmă cu ceva timp) Consola Drupal era învechită și neîntreținută - toate comenzile „generare” sunt disponibile cu Drush totuși
drapel bj
@Clive, Oh. Nu pot vedea asta când rulez Drush - https://pastebin.com/7BrZ4vXe, dar tocmai m-am uitat pe site-ul Drush și le pot vedea listate acolo. Interesant, ar putea fi nevoie să mai săpăm.
drapel cn
Da, îl folosesc tot timpul: https://imgur.com/a/WiDdY3w
drapel bj
@Clive, ai dreptate. Nu mi-am dat seama că era listat la „Global” - va trebui să verific asta. Mulțumiri!
miststudent2011 avatar
drapel fr
@Clive O comandă importantă și utilă care lipsește în drush este exportul de configurare a tipului de entitate. La fel ca exportul de configurare a pachetului de noduri. Care este prezent în consola Drupal. Cu excepția cazului în care nu sunt conștient de comanda existentă.
drapel cn
Nu cred @miststudent2011, cred că acea comandă lipsește/nu este implementată așa cum spui. Caracteristicile oferă funcționalități similare cred
miststudent2011 avatar
drapel fr
@clive Da, funcțiile oferă funcționalități similare, dar nu exportă configurația de stocare a câmpurilor, ceea ce face ca exportul de configurare a pachetului să fie inutil. Cu excepția cazului în care am greșit în timpul expunerii configurațiilor prin funcții.
Puncte:1
drapel bj

OK, așa că imediat după ce am postat întrebarea am găsit soluția. Sper ca acest lucru să ajute pe oricine altcineva într-o situație similară.

Eroarea spune în esență că fișierul drupal.php nu poate fi găsit. Așa că am intrat în directorul vendor/bin/drupal, urmat de unde lipsea fișierul:

vendor/drupal/console/bin/drupal

Dacă deschideți acel fișier, veți vedea următorul cod, care face referire la fișierul drupal.php lipsă.

#!/usr/bin/env php
<?php
 
necesită „drupal.php”;

Am comparat acest lucru cu Drush (care funcționa bine) și am văzut că fișierul Drush este similar, dar includea referința la director __DIR__. Am actualizat fișierul drupal.php la următoarele și acum funcționează conform așteptărilor.

#!/usr/bin/env php
<?php
    
necesită __DIR__ . '/drupal.php';

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.