จะแก้ไขปัญหา `is_readable(): open_basedir restriction in effect. AWS path warning` ของปลั๊กอิน WordPress BackWPup ได้อย่างไร?

เมื่อฉันเปิด แผงควบคุมผู้ดูแลระบบ WordPressตามปกติฉันก็พร้อมที่จะตรวจสอบบันทึกการสำรองข้อมูลแล้ว

จากนั้น ฉันก็เห็นตัวสีเหลืองๆ เยอะแยะเลย

คำเตือน คำเตือน และคำเตือนอีกมากมาย

警告: is_readable(): open_basedir restriction in effect. 
File(/home/admin/.aws/config) is not within the allowed path(s): (...)

การสำรองข้อมูลเสร็จสมบูรณ์โดยไม่มีการขัดจังหวะ แต่แถบสถานะเป็นสีเหลืองทั้งหมด ซึ่งดูแล้วน่ารำคาญมาก

คุณเข้าใจความรู้สึกนั้นไหม? มันเหมือนกับว่าคุณส่ง Pull Request (PR) ไปแล้ว ทุกอย่างผ่านการตรวจสอบ (CI) หมด แต่มีคำเตือนเรื่อง Lint ขึ้นมา คุณรู้ว่ามันจะไม่ส่งผลกระทบต่อการทำงาน แต่คุณก็ยังรู้สึกไม่สบายใจอยู่ดี

ฉันครุ่นคิดอยู่ครู่หนึ่ง

ปัญหาข้อนี้สามารถแก้ไขได้อย่างสมบูรณ์หรือไม่?

จะแก้ไขปัญหา `is_readable(): open_basedir restriction in effect. AWS path warning` ของปลั๊กอิน WordPress BackWPup ได้อย่างไร?

สาเหตุที่แท้จริงของคำเตือน BackWPup คือ AWS SDK ไปกระตุ้นขีดจำกัด open_basedir

พูดตามตรง ตอนแรกฉันคิดว่าเป็นปัญหาของปลั๊กอินสำรองข้อมูล BackWPup เพราะมีคำเตือนปรากฏขึ้นในบันทึกของปลั๊กอินนั้น

แต่เมื่อตรวจสอบอย่างละเอียดแล้ว พบว่ามีบางอย่างผิดปกติ

คำเตือนดังกล่าวระบุถึงเส้นทางหนึ่ง/home/admin/.aws/configนี่คือขั้นตอนที่ AWS SDK จะค้นหาไดเร็กทอรีการกำหนดค่า AWS เริ่มต้นของผู้ใช้ปัจจุบันโดยอัตโนมัติในระหว่างการเริ่มต้นระบบ

ฟังดูซับซ้อนไปหน่อยใช่ไหม?

โดยพื้นฐานแล้ว หมายความว่า หากคุณติดตั้งปลั๊กอินที่เกี่ยวข้องกับ AWS ใน WordPress เช่น ที่เก็บข้อมูล S3 หรือ CloudFront ปลั๊กอินเหล่านี้จะใช้ AWS SDK เป็นแกนหลัก เมื่อ AWS SDK เริ่มทำงาน มันจะตรวจสอบไดเร็กทอรีโฮมของคุณโดยอัตโนมัติเพื่อหาเครื่องมือติดตั้ง AWS SDK.awsโฟลเดอร์นี้มีไฟล์การกำหนดค่าและข้อมูลรับรอง

อย่างไรก็ตาม ด้วยเหตุผลด้านความปลอดภัย เซิร์ฟเวอร์ PHP จึงเปิด...open_basedirโดยพื้นฐานแล้ว ฟังก์ชันนี้เปรียบเสมือนการกำหนดขอบเขตบนเซิร์ฟเวอร์ และบอก PHP ว่าคุณสามารถเคลื่อนที่ได้เฉพาะภายในขอบเขตนี้เท่านั้น และห้ามเดินออกไปนอกขอบเขต

/tmpไดเร็กทอรีอยู่ในรายการที่อนุญาตแล้ว ไดเร็กทอรีเว็บไซต์ก็อยู่ในรายการที่อนุญาตแล้ว แต่ขออภัย ไดเร็กทอรีของคุณไม่ได้อยู่ในรายการที่อนุญาต

เมื่อ AWS SDK พยายามเข้าถึงไดเร็กทอรีของคุณ ระบบจะบล็อกการเข้าถึงนั้น

จากนั้นคำเตือนก็ปรากฏขึ้น

แนวทางที่ถูกต้องในการแก้ไขคำเตือน open_basedir คือ การเปลี่ยนเส้นทางการกำหนดค่า AWS

พูดตามตรง ปฏิกิริยาแรกของผมคืออยากจะเปลี่ยนมันopen_basedirตั้งค่า ใส่/home/adminเพิ่มเข้าไป

แต่พอคิดดูอีกที ฉันก็รู้ว่ามันไม่ถูกต้อง

คุณทำผิดพลาดตรงนี้ การจัดรูปแบบไม่ถูกต้อง คุณลืมใส่เครื่องหมายทับ (/) และใส่ช่องว่างเพิ่ม ทำให้เกิดข้อผิดพลาด 500 และเว็บไซต์ทั้งหมดก็หายไป

และopen_basedirเปิดไว้เพื่อเหตุผลด้านความปลอดภัย หากคุณเปิดเอง คุณก็เท่ากับเปิดช่องโหว่ให้เซิร์ฟเวอร์ ซึ่งไม่คุ้มค่าเลย

มีวิธีที่ปลอดภัยกว่านี้ไหม?

ฉันคิดอยู่ครู่หนึ่ง เพราะสิ่งที่คุณต้องค้นหาคือ AWS SDK.../home/admin/.aws/configฉันสามารถหลอกให้มันค้นหาไฟล์นี้ในที่อื่นได้ไหม?

ไปที่สถานที่ใดสถานที่หนึ่งที่อยู่ในรายชื่อที่อนุญาตไว้แล้ว

แก้ไขคำเตือน BackWPup ของ WordPress: เพิ่มโค้ดสองบรรทัดลงในไฟล์ 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 plugin is_readable(): open_basedir restriction in effect. AWS path warning?" ที่แชร์บนบล็อกของ Chen Weiliang ( https://www.chenweiliang.com/ ) จะเป็นประโยชน์กับคุณ

โปรดแชร์ลิงก์บทความนี้ได้ตามสบาย: https://www.chenweiliang.com/cwl-34455.html

หากต้องการปลดล็อคเคล็ดลับที่ซ่อนอยู่เพิ่มเติม ยินดีต้อนรับเข้าร่วมช่อง Telegram ของเรา!

แชร์และกดไลค์ถ้าคุณชอบ! การแชร์และการถูกใจของคุณคือแรงบันดาลใจอย่างต่อเนื่องของเรา!

 

发表评论

您的邮箱地址不会被公ปริญญา。必填项已用*标注

เลื่อนไปที่ด้านบน