วิธีการย้ายไซต์ย่อยจาก dev multisite ไปยัง multisite การผลิต


12

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

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

ฉันค้นหาวิธีแก้ปัญหา แต่ทุกสิ่งที่ฉันพบคือการย้ายไซต์หนึ่งไปยังไซต์หลายไซต์หรืออีกทางหนึ่งโดยไม่มี "ย้ายไซต์ย่อยจากไซต์หลายไซต์ไปยังไซต์หลายไซต์"

ฉันต้องการเก็บทุกอย่าง: การตั้งค่าวิดเจ็ตและอื่น ๆ


1
ฉันคิดว่าปลั๊กอิน BackupBuddy เชิงพาณิชย์สามารถทำเช่นนี้ได้ แต่ฉันอยากจะเห็นคำตอบทั่วไปนี้
Rarst

เนื่องจากสตริงต่อเนื่องในฐานข้อมูลจึงไม่ใช่เรื่องง่ายที่จะทำ ฉันยังไม่เคยเห็นปลั๊กอินสำหรับการโยกย้ายที่บริสุทธิ์มาก่อน แต่นั่นเป็นสิ่งที่ควรทำ สิ่งเดียวคือการย้ายส่วน "ส่วนใหญ่" ของบล็อกหนึ่งไปยังอีกบล็อกหนึ่งคือผ่านกลไกการส่งออก / นำเข้า XML แต่คุณยังต้องแก้ไขเส้นทางจำนวนมากหลังจากนั้น
2ndkauboy

1
ตัวเลือกที่ดีที่สุดที่คุณต้องทำคือการสอบถาม sql โดยตรง ฉันได้ทำมันมากกว่าหนึ่งครั้งและใช้งานได้ดีถ้าคุณระวังพอ
krembo99

@ krembo99 คุณช่วยอธิบาย tecnique ของคุณอีกหน่อยได้ไหม?
molokom

@Rarst เท่าที่ BackupBuddy กังวลนี่มาจากคำถามที่พบบ่อย: "ไม่สนับสนุน BackupBuddy Multisite เป็นการทดลองไม่แนะนำสำหรับไซต์ที่ใช้งานจริงและไม่ได้รับการสนับสนุนอย่างเป็นทางการ"
molokom

คำตอบ:


4

สิ่งนี้อาจค่อนข้างน่าเบื่อ แต่หวังว่าจะช่วยได้ ยิ่งน้อยที่การเปลี่ยนแปลงจากสภาพแวดล้อมหนึ่งไปยังอีกต่อไปกระบวนการนี้จะเจ็บปวดน้อยลง โดยเฉพาะอย่างยิ่งหากโดเมน, รหัสไซต์, เส้นทางของไฟล์ยังคงเหมือนเดิมกระบวนการนี้จะเจ็บปวดน้อยลง

โพสต์นี้จะถือว่ามีความรู้เกี่ยวกับการจัดการฐานข้อมูล ไม่ใช่ขั้นตอนที่สมบูรณ์เนื่องจากคุณควรค้นหาฟอรัมและอาจสร้างเธรดเฉพาะสำหรับขั้นตอนที่คุณประสบปัญหาเช่นถ้าคุณต้องการความช่วยเหลือในการส่งออกตารางฐานข้อมูล

สิ่งที่สำคัญที่สุดที่ต้องทำคือสำรองฐานข้อมูลและไฟล์ทั้งหมดของคุณสำหรับทั้งไซต์ dev ท้องถิ่นและตำแหน่งใหม่ในกรณีที่มีบางอย่างผิดปกติ คาดหวังบางอย่างที่ผิดพลาด จะประหลาดใจถ้ามันไม่

การย้ายไฟล์ธีมของคุณควรตรงไปตรงมา อัพโหลดไฟล์ธีมของคุณไปยังไดเร็กทอรี wp-content / themes และเปิดใช้งานตามปกติ ฉันสมมติว่านี่เป็นธีมที่แบ่งปันซึ่งบล็อกทั้งหมดสามารถเข้าถึงได้

อัปโหลดไฟล์ปลั๊กอินไปยัง wp-content / plugins ที่ตำแหน่งใหม่ ยังไม่เปิดใช้งาน

โปรดทราบว่าเนื้อหาใด ๆ ที่เป็นเอกสิทธิ์ของบล็อกที่คุณกำลังโอนย้ายจะอยู่ในไดเรกทอรีที่ดูเหมือนwp-content/blogs.dir/2/filesว่า 2 เป็นรหัสไซต์ หากเป็นไปได้ที่จะรักษา ID ไซต์นี้ไว้ที่ตำแหน่งใหม่ควรช่วยลดความขัดแย้งในฐานข้อมูลหลังจากย้ายไปยังตำแหน่งใหม่ มิฉะนั้นคุณจะต้องอัพเดทฐานข้อมูลของคุณเพื่อให้สอดคล้องกับเส้นทางใหม่

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

ตัวอย่างเช่นตาราง wp_blogs สำหรับบล็อกของคุณมี id บล็อก, รหัสไซต์, โดเมนและพา ธ ที่อนุญาตให้ WordPress multisite จดจำและทำงานกับบล็อกของคุณได้ แก้ไขสิ่งเหล่านี้ที่ไม่ถูกต้องอีกต่อไปเพื่อสะท้อนตำแหน่งใหม่ แต่โปรดอ่านส่วนที่เหลือของโพสต์นี้ก่อนที่จะพยายามทำเช่นนั้น

ดูภาพรวมของตาราง Multisite

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

ตรวจสอบให้แน่ใจว่าที่ตั้งใหม่ใช้คำนำหน้าฐานข้อมูลเดียวกับตารางที่คุณกำลังนำเข้า wp_2_options, wp_2_posts, wp_2_postmetaคำนำหน้าจะมีรหัสของเว็บสำหรับบล็อกและดูสิ่งที่คุณชอบ
ดูการสำรวจ WordPress Multisite โดย Lisa Sabin-Wilson

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

จากmysqldump ตารางเฉพาะคุณได้อย่างไร (แก้ไขไวยากรณ์เล็กน้อยเพื่อให้ชัดเจนยิ่งขึ้น):

หากคุณกำลังดัมพ์ตาราง t1, t2 และ t3 จากฐานข้อมูลชื่อ mydb

mysqldump -u <username> -p <password> mydb t1 t2 t3 > mydb_tables.sql

ก่อนที่จะเปิดใช้งานปลั๊กอินในไซต์ใหม่ให้ไปที่การตั้งค่าลิงก์ใน admin cp และบันทึกการตั้งค่าเพื่ออัปเดตไฟล์ฐานข้อมูลไปยัง URL ไซต์ใหม่ เปิดใช้งานปลั๊กอินของคุณและดูว่ามีปัญหาใด ๆ

ปัญหาหนึ่งที่คุณอาจพบคือมีการจัดลำดับข้อมูลในตารางของคุณ

"[... ] การอ้างอิงถึงชื่อโดเมนหรือตำแหน่งเดิมจะยังคงอยู่ในฐานข้อมูลและอาจทำให้เกิดปัญหากับลิงค์หรือการแสดงธีม

หากคุณทำการค้นหาและแทนที่ในฐานข้อมูลทั้งหมดของคุณเพื่อเปลี่ยน URL คุณสามารถทำให้เกิดปัญหากับการจัดลำดับข้อมูลเนื่องจากข้อเท็จจริงที่ว่าบางธีมและวิดเจ็ตเก็บค่าที่มีความยาวของ URL ของคุณทำเครื่องหมาย " เมื่อชื่อโดเมนหรือ URL ของคุณ เปลี่ยนแปลง

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

ปัญหาอีกอย่างหนึ่งที่คุณอาจพบคือพา ธ ของไฟล์ที่ไม่ถูกต้องใด ๆ ที่เก็บไว้ในตารางฐานข้อมูลจะต้องได้รับการอัปเดตเพื่อแสดงตำแหน่งใหม่ อาจเป็นกรณีของไดเรกทอรีสื่อหรือไดเรกทอรีที่ใช้โดยปลั๊กอินขึ้นอยู่กับวิธีการออกแบบปลั๊กอิน อีกครั้งคุณจะต้องการใช้การค้นหาและแทนที่สคริปต์เพื่อให้แน่ใจว่าไม่มีข้อขัดแย้งในการทำให้เป็นอนุกรมในขณะที่อัพเดทเส้นทางของไฟล์ หรือคุณสามารถเข้าไปดูตารางของคุณและอัพเดตด้วยตนเอง


ขอบคุณ! ดังนั้นดูเหมือนว่าจะไม่มีผลประโยชน์ที่แท้จริงในการทำงานด้วยวิธีนี้: มันเป็นกระเป๋าที่เจ็บปวด มันจะเป็นการพัฒนาไซต์เดี่ยวในท้องถิ่นให้ดีขึ้นและย้ายเข้าสู่สภาพแวดล้อมที่หลากหลาย
molokom

คุณอาจพบปัญหาเดียวกันมากมาย แต่ควรใช้ตารางน้อยกว่าที่คุณต้องย้ายข้อมูล เพียงเพื่อให้คุณคิดว่านี่เป็นคำแนะนำที่ดีสำหรับการที่เรียกว่าย้ายบล็อกที่มีอยู่ลงใน WordPress Multi-Site ฉันจะปล่อยให้คุณตรวจสอบว่ามีประสิทธิภาพมากขึ้นสำหรับคุณในฐานะนักพัฒนา
iyrin

0

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

คุณสามารถซิงค์ข้อมูลประจำตัวของผู้ใช้โดยใช้ปลั๊กอินที่ดีเรียกว่าSyncronization ผู้ใช้

ฉันไม่ได้ใช้มัน แต่ManageWPมีการปรับใช้ที่เป็นมิตรกับผู้ใช้และเครื่องมือโคลนเพื่อไปจากไซต์ที่มีอยู่ไปยังไซต์ใหม่ ... มันคุ้มค่าที่จะดู

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.