Директорияи мақолаҳо
Вақте ки ман панели маъмурии WordPress-ро мисли маъмулӣ кушодам , омода будам, ки гузоришҳои нусхабардории эҳтиётиро тафтиш кунам.
Сипас, ман як даста тухмҳои зардро дидам.
Огоҳӣ, огоҳӣ ва боз ҳам огоҳӣ.
警告: is_readable(): open_basedir restriction in effect. File(/home/admin/.aws/config) is not within the allowed path(s): (...)
Нусхабардории эҳтиётӣ бе ягон қатъшавӣ анҷом ёфт, аммо сатри ҳолат комилан зард буд, ки нигоҳ карданаш хеле дилгиркунанда буд.
Оё шумо ин эҳсосро медонед? Гӯё шумо PR пешниҳод мекунед, ҳамаи CI-ҳо сабзанд, аммо огоҳии линт мавҷуд аст. Шумо медонед, ки ин ба амалиёт таъсир намерасонад, аммо шумо ҳоло ҳам худро нороҳат ҳис мекунед.
Ман як лаҳза дар ин бора фикр кардам.
Оё ин мушкилотро пурра ҳал кардан мумкин аст?

Сабаби аслии огоҳии BackWPup: SDK-и AWS маҳдудияти open_basedir-ро ба кор андохт.
Ростӣ, дар аввал ман фикр мекардам, ки ин мушкилот бо плагини нусхабардории BackWPup аст, зеро огоҳӣ дар гузоришҳои он пайдо шуд.
Аммо бо санҷиши наздиктар, чизе нодуруст буд.
Дар огоҳӣ роҳе зикр шуда буд./home/admin/.aws/configИн SDK-и AWS аст, ки ҳангоми оғозёбӣ ба таври худкор директорияи пешфарзии конфигуратсияи AWS-и корбари ҷорӣро ҷустуҷӯ мекунад.
Ин каме печида садо медиҳад, дуруст аст?
Асосан, ин маънои онро дорад, ки агар шумо дар WordPress плагини марбут ба AWS, ба монанди S3 storage ё CloudFront, насб кунед, ҳамаи ин плагинҳо аз AWS SDK дар асли худ истифода мебаранд. Вақте ки AWS SDK оғоз мешавад, он ба таври худкор директорияи хонагии шуморо барои абзорҳои насби AWS SDK тафтиш мекунад..awsИн папка дорои файлҳои танзимот ва маълумоти эътимоднома мебошад.
Аммо, бо сабабҳои амниятӣ, сервери PHP кушода шуд...open_basedirИн кор асосан ба қайд кардани қаламрав дар сервер ва гуфтани он аст, ки шумо танҳо дар дохили он қаламрав ҳаракат карда метавонед ва на дар он ҷо саргардон мешавед.
/tmpФеҳрист дар рӯйхати сафед аст, феҳристи вебсайт дар рӯйхати сафед аст, аммо феҳристи шумо, мутаассифона, дар он нест.
Вақте ки AWS SDK кӯшиш мекунад, ки ба директорияи шумо дастрасӣ пайдо кунад, он масдуд мешавад.
Сипас огоҳӣ пайдо шуд.
Роҳи дурусти ҳалли огоҳиҳои open_basedir: Роҳи конфигуратсияи AWS-ро равона кунед.
Ростӣ, аввалин вокуниши ман ин буд, ки онро тағйир диҳам.open_basedirТанзим кардан, гузоштан/home/adminОнро илова кунед.
Аммо баъд ман бори дигар дар ин бора фикр кардам ва фаҳмидам, ки ин нодуруст аст.
Шумо бо ин хато кардед. Форматкунӣ нодуруст аст. Шумо як хати ростро аз даст додед ва фосилаи иловагӣ илова кардед. Ин боиси хатогии 500 гардид ва тамоми сайт аз байн рафт.
ваopen_basedirОн бо сабабҳои амниятӣ кушода шуд. Агар шумо онро кушоед, шумо дар асл ба сервер сӯрохие медиҳед, ки ин ба маблағи он нест.
Оё роҳи бехатартаре ҳаст?
Ман як лаҳза дар ин бора фикр кардам, зеро AWS SDK он чизест, ки шумо бояд пайдо кунед.../home/admin/.aws/configОё ман метавонам онро фиреб диҳам, то ин файлро дар ҷои дигар ҷустуҷӯ кунам?
Ба яке аз ҷойҳое равед, ки аллакай дар рӯйхати сафед мавҷуд аст.
Огоҳиҳои WordPress BackWPup-ро ислоҳ кунед: Ду сатри кодро ба wp-config.php илова кунед
Ҳалли масъала дар асл бениҳоят содда аст.
Дар WordPresswp-config.phpТанҳо ду сатри кодро ба файл илова кунед.
// 解决 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. */илова ба/* That's all, stop editing! Happy publishing. */Танҳо аз болои ин хат гузаред.
Танҳо ҳамин се сатр.
没了.
Тасдиқи таъсири таъмир: Гузоришҳои нусхабардории BackWPUp ба ҳолати муқаррарӣ баргаштанд.
Пас аз ворид кардани тағирот, ба сервери пуштибонии WordPress баргардед, BackWPup-ро кушоед ва "Ҳоло иҷро кунед" -ро клик кунед.
Пас аз анҷоми амалиёт, сабтҳоро тафтиш кунед.
Огоҳиҳои зардранги дурахшон нопадид шуданд ва онҳоро паёмҳои сабзи "бомуваффақият анҷом ёфтанд" иваз карданд.
Он қадар ҳамвор аст.
Ду сатри код, хатари сифр, камтар аз 10 сония барои тағир додан ва мушкилот пурра ҳал карда шуд.
Ин гуна мушкилоти "на марговар, балки асабовар" дар асл вақти аз ҳама зиёдро талаб мекунанд. Зеро шумо намедонед, ки оё он пас аз навсозӣ ногаҳон бадтар мешавад ва шумо намедонед, ки оё он ба дигар плагинҳо таъсир мерасонад.
Агар чизеро бо ду сатри код пурра бартараф кардан мумкин бошад, пас онро дар роҳ нагузоред.
Хуб, ин ҳама барои ин мақола аст.
Азбаски ин масъала мураккаб нест, ба ман лозим нест, ки ба шумо ягон дониши заминавӣ, таҳлили соҳа ё тамоюлҳои ояндаро пешниҳод кунам.
Ин танҳо як огоҳии хурд дар панели идоракунии WordPress ва ислоҳ бо ду сатри код аст.
Умедворам, ки дафъаи оянда, вақте ки шумо он огоҳии зардро мебинед, ин мақоларо ба ёд меоред.
Умедворем, ки мақолаи "Чӣ гуна маҳдудияти амали плагини WordPress BackWPup is_readable(): open_basedir-ро ҳал кардан мумкин аст. Огоҳӣ дар бораи масири AWS?", ки дар блоги Чен Вейлианг ( https://www.chenweiliang.com/ ) мубодила шудааст, барои шумо муфид хоҳад буд.
Озодона истиноди ин мақоларо мубодила кунед: https://www.chenweiliang.com/cwl-34455.html
