Rakstu katalogs
Kad es kā parasti atvēru WordPress administratora paneli , es biju gatavs pārbaudīt dublējuma žurnālus.
Tad es ieraudzīju veselu baru dzeltenu.
Brīdinājums, brīdinājums un vēlreiz brīdinājums.
警告: is_readable(): open_basedir restriction in effect. File(/home/admin/.aws/config) is not within the allowed path(s): (...)
Dublēšana tika pabeigta bez pārtraukumiem, taču statusa josla bija pilnīgi dzeltena, kas bija patiešām kaitinoši.
Vai pazīsti šo sajūtu? Tas ir tā, it kā tu iesniegtu PR, visi CI ir zaļi, bet ir brīdinājums par pūku veidošanos. Tu zini, ka tas neietekmēs darbību, bet tomēr jūties neērti.
Es uz brīdi par to padomāju.
Vai šo problēmu var pilnībā atrisināt?

Īstais BackWPup brīdinājuma iemesls: AWS SDK aktivizēja open_basedir ierobežojumu.
Godīgi sakot, sākumā domāju, ka tā ir problēma ar dublēšanas spraudni BackWPup, jo brīdinājums parādījās tā žurnālos.
Bet, rūpīgāk pārbaudot, kaut kas nebija kārtībā.
Brīdinājumā bija minēts ceļš./home/admin/.aws/configŠis ir AWS SDK, kas inicializācijas laikā automātiski meklē pašreizējā lietotāja noklusējuma AWS konfigurācijas direktoriju.
Tas izklausās mazliet sarežģīti, vai ne?
Būtībā tas nozīmē, ka, ja WordPress instalējat ar AWS saistītu spraudni, piemēram, S3 storage vai CloudFront, šie spraudņi savā kodolā izmanto AWS SDK. Kad AWS SDK tiek startēts, tas automātiski pārbaudīs jūsu mājas direktoriju, lai atrastu AWS SDK instalēšanas rīkus..awsŠajā mapē ir konfigurācijas faili un akreditācijas dati.
Tomēr drošības apsvērumu dēļ PHP serveris atvēra...open_basedirŠī lieta būtībā ir līdzīga teritorijas atzīmēšanai serverī un PHP norādīšanai, ka drīkst pārvietoties tikai šajā teritorijā, nevis klīst apkārt.
/tmpKatalogs ir baltajā sarakstā, tīmekļa vietnes katalogs ir baltajā sarakstā, bet jūsu katalogs, atvainojiet, tajā nav.
Kad AWS SDK mēģina piekļūt jūsu direktorijam, tas tiek bloķēts.
Tad parādījās brīdinājums.
Pareizā pieeja open_basedir brīdinājumu novēršanai: novirzīt AWS konfigurācijas ceļu.
Godīgi sakot, mana pirmā reakcija bija to mainīt.open_basedirKonfigurēt, ievietot/home/adminPievienojiet to.
Bet tad es vēlreiz par to padomāju un sapratu, ka tas nav pareizi.
Jūs pieļāvāt kļūdu. Formatējums ir nepareizs. Jūs izlaidāt slīpsvītru un pievienojāt papildu atstarpi. Rezultātā radās kļūda 500, un visa vietne ir pazudusi.
unopen_basedirTas tika atvērts drošības apsvērumu dēļ. Ja jūs to atverat, jūs būtībā piešķirat serverim nepilnību, kas nav tā vērts.
Vai ir drošāks veids?
Es uz brīdi par to padomāju, jo AWS SDK ir tas, kas jums jāatrod.../home/admin/.aws/configVai varu to apmānīt, lai tas meklētu šo failu kaut kur citur?
Dodieties uz kādu no vietām, kas jau ir iekļauta baltajā sarakstā.
WordPress BackWPup brīdinājumu labošana: pievienojiet divas koda rindiņas failam wp-config.php
Risinājums patiesībā ir smieklīgi vienkāršs.
Programmā WordPresswp-config.phpVienkārši pievienojiet failam divas koda rindiņas.
// 解决 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. */Pievienot/* That's all, stop editing! Happy publishing. */Vienkārši kāp virs šīs līnijas.
Tikai šīs trīs rindas.
Ne vairāk.
Remonta efekta pārbaude: BackWPup dublējuma žurnāli ir atgriezušies normālā stāvoklī.
Pēc izmaiņu veikšanas atgriezieties WordPress aizmugursistēmā, atveriet BackWPup un noklikšķiniet uz “Palaist tūlīt”.
Pēc palaišanas pabeigšanas pārbaudiet žurnālus.
Spilgti dzeltenie brīdinājumi ir pazuduši, to vietā ir zaļi ziņojumi "veiksmīgi pabeigts".
Tas ir tik gludi.
Divas koda rindiņas, nulle riska, modificēšana aizņem mazāk nekā 10 sekundes, un problēma bija pilnībā atrisināta.
Šāda veida "nevis liktenīgas, bet kaitinošas" problēmas patiesībā ir vislaikietilpīgākās. Jo nav zināms, vai pēc atjaunināšanas situācija pēkšņi nekļūs sliktāka, un nav zināms, vai tā ietekmēs citus spraudņus.
Ja kaut ko var pilnībā novērst ar divām koda rindām, tad neatstājiet to ceļā.
Labi, tas šim rakstam arī viss.
Tā kā šis jautājums nav sarežģīts, man nav jāsniedz jums nekādas pamatzināšanas, nozares analīze vai nākotnes tendences.
Tas ir tikai neliels brīdinājums WordPress administratora panelī un labojums ar divām koda rindām.
Cerams, ka nākamreiz, kad redzēsiet šo dzelteno brīdinājumu, atcerēsities šo rakstu.
Cerams, ka jums noderēs raksts "Kā novērst WordPress BackWPUp spraudņa is_readable(): open_basedir ierobežojumu spēkā. AWS ceļa brīdinājums?", kas publicēts Čena Veiljana emuārā ( https://www.chenweiliang.com/ ).
Droši kopīgojiet šo raksta saiti: https://www.chenweiliang.com/cwl-34455.html
