Artikel Directory
Da jeg åbnede WordPress-administrationspanelet som sædvanligt , var jeg klar til at tjekke backup-loggene.
Så så jeg en masse gule.
Advarsel, advarsel og mere advarsel.
警告: is_readable(): open_basedir restriction in effect. File(/home/admin/.aws/config) is not within the allowed path(s): (...)
Sikkerhedskopieringen blev gennemført uden afbrydelser, men statuslinjen var helt gul, hvilket var virkelig irriterende at se på.
Kender du den følelse? Det er ligesom når du indsender en personlig ansøgning, hvor alle CI'er er grønne, men der er en advarsel om fnug. Du ved, at det ikke vil påvirke driften, men du føler dig stadig utilpas.
Jeg tænkte over det et øjeblik.
Kan dette problem løses fuldstændigt?

Den virkelige årsag til BackWPup-advarslen: AWS SDK udløste open_basedir-grænsen.
Helt ærligt, troede jeg først, at det var et problem med backup-pluginnet BackWPup, da advarslen dukkede op i dets logfiler.
Men ved nærmere eftersyn var der noget galt.
Advarslen nævnte en sti./home/admin/.aws/configDette er AWS SDK'et, der automatisk søger efter den aktuelle brugers standard AWS-konfigurationsmappe under initialisering.
Det lyder lidt indviklet, ikke?
Det betyder i bund og grund, at hvis du installerer et AWS-relateret plugin i WordPress, såsom S3-storage eller CloudFront, bruger disse plugins alle AWS SDK som kerne. Når AWS SDK starter, vil det automatisk tjekke din hjemmemappe for AWS SDK-installationsværktøjer..awsDenne mappe indeholder konfigurationsfiler og legitimationsoplysninger.
Af sikkerhedsmæssige årsager åbnede PHP-serveren dog en...open_basedirDet her er stort set ligesom at markere et territorium på serveren og fortælle PHP, at man kun kan bevæge sig inden for dette territorium og ikke vandre rundt.
/tmpMappen er på hvidlisten, hjemmesidemappen er på hvidlisten, men din mappe er det desværre ikke.
Når AWS SDK'et forsøger at få adgang til din mappe, bliver den blokeret.
Så dukkede advarslen op.
Den korrekte tilgang til at løse open_basedir-advarsler: Omdiriger AWS-konfigurationsstien.
For at være ærlig, var min første reaktion at ændre det.open_basedirKonfigurer, sæt/home/adminTilføj det.
Men så tænkte jeg over det igen, og indså at det ikke var rigtigt.
Du lavede en fejl med dette. Formateringen er forkert. Du glemte et skråstreg og tilføjede et ekstra mellemrum. Det resulterede i en 500-fejl, og hele webstedet er væk.
ogopen_basedirDen blev åbnet af sikkerhedsmæssige årsager. Hvis du åbner den, giver du i bund og grund serveren et smuthul, hvilket ikke er det værd.
Er der en sikrere måde?
Jeg tænkte over det et øjeblik, da AWS SDK er det, du skal finde.../home/admin/.aws/configKan jeg narre den til at lede efter denne fil et andet sted?
Gå til et af de steder, der allerede er på hvidlisten.
Rettelse af WordPress BackWPup-advarsler: Tilføj to linjer kode til wp-config.php
Løsningen er faktisk latterligt simpel.
I WordPresswp-config.phpTilføj blot to linjer kode til filen.
// 解决 AWS open_basedir 警告的环境变量设置
putenv('AWS_CONFIG_FILE=' . __DIR__ . '/wp-content/uploads/.aws_config');
putenv('AWS_SHARED_CREDENTIALS_FILE=' . __DIR__ . '/wp-content/uploads/.aws_credentials');
putenv('AWS_EC2_METADATA_DISABLED=true');
/* That's all, stop editing! Happy publishing. */Tilføj til/* That's all, stop editing! Happy publishing. */Bare gå over denne linje.
Bare disse tre linjer.
Væk.
Verifikation af reparationseffekt: BackWPup-backuplogfilerne er vendt tilbage til normalen.
Når du har foretaget ændringerne, skal du gå tilbage til WordPress-backend, åbne BackWPup og klikke på "Kør nu".
Tjek loggene, når kørslen er færdig.
De klare gule advarsler er væk og erstattet af grønne "fuldført"-meddelelser.
Det er så glat.
To linjer kode, nul risiko, mindre end 10 sekunder til ændring, og problemet var fuldstændig løst.
Den slags "ikke fatale, men irriterende" problemer er faktisk de mest tidskrævende. Fordi man ikke ved, om det pludselig bliver værre efter en opdatering, og man ved ikke, om det vil påvirke andre plugins.
Hvis noget kan elimineres fuldstændigt med to linjer kode, så lad det ikke være i vejen.
Okay, det var alt for denne artikel.
Da dette ikke er kompliceret, behøver jeg ikke at give dig nogen baggrundsviden, brancheanalyse eller fremtidige tendenser.
Det er bare en lille advarsel i WordPress-administrationspanelet og en rettelse med to linjer kode.
Forhåbentlig husker du denne artikel, næste gang du ser den gule advarsel.
Forhåbentlig vil artiklen "Sådan løser du problemet med WordPress BackWPup-pluginet is_readable(): open_basedir restriction in effect. AWS path warning?", som er delt på Chen Weiliangs blog ( https://www.chenweiliang.com/ ), være nyttig for dig.
Del gerne dette artikellink: https://www.chenweiliang.com/cwl-34455.html
