เป็นคำถามที่เก็บมาจากกระดานข่าว โจทย์คือ ต้องการทำเว็บเอาไว้ 2 ที่เช่น abc.domain.com และ xyz.domain.com แต่ว่าข้อมูลทุกอย่างแยกกัน เว้นแต่ สมาชิกที่ join กัน คือสมัครที่นึง ก็เข้าใช้อีกที่นึงได้ด้วย php-fusion ทำง่ายนิดเดียวครับ
บทความนี้จะกล่าวถึงเว็บสองชุด ขอให้ตั้งสติอ่านให้ดีนะครับ อย่าหลุด เพราะว่าหลุดนิดนึงก็จะงงไปเลย
โดยขั้นตอนการทำอย่างที่ผมว่านั้น เค้าเรียกว่า multi site ครับ ซึ่งหลักการทั้งหมดมีดังนี้
1.ติดตั้ง php-fusion ที่ site 1 (site นี้ผมจะเอาไว้เป็น site หลัก)
2. ติดตั้ง php-fusion ที่ site 2 โดยต้องติดตั้ง ให้ prefix ต่างกัน ลงใน database เดียวกับข้อที่ 1 เท่านั้น จะทำให้เรามี php-fusion สองชุดแล้ว
3.แก้ไขไฟล์ includes/multisite_include.php ให้เป็นข้อมูลของ site 1 โดยเลือกแก้เอาเฉพาะที่ต้องการ
แค่นี้ครับกระบวนการทั้งหมด งั้นมาเริ่มอธิบายโดยละเอียดครับ
1.ติดตั้ง php-fusion ที่ site 1 (site นี้ผมจะเอาไว้เป็น site หลัก)สำหรับ site ตัวนี้ ผมจะถือว่าเป็นเว็บหลักนะครับ หรือส่วนหลัก ที่เราจะเอาข้อมูลเก็บเอาไว้ใช้กับ site อื่นๆ โดยขั้นตอนการติดตั้งตัวนี้ผมจะทำการติดตั้งแบบธรรมดาทั้งหมด 100 % คือหากจำได้ กระบวนการติดตั้งที่
Step 3: Database Settings ส่วนนี้ผมตั้งค่า prefix ให้เป็น fusion_ เหมือนการติดตั้งตามปกติครับ
2.ติดตั้ง php-fusion ที่ site 2 โดยต้องติดตั้ง ให้ prefix ต่างกัน ลงใน database เดียวกับข้อที่ 1สำหรับ site ตัวนึ้ คือเว็บลอง ที่เราอาจจะทำเนื้อหาแยกจากเว็บหลัก แต่เราต้องการให้ใช้ฐานข้อมูลสมาชิกร่วมกับเว็บหลักเท่านั้น การติดตั้ง site นี้ ในกระบวนการ
Step 3: Database Settings ให้ตั้งค่า prefix เป็นอย่างอื่นที่ไม่ใช่ fusion_ เพราะว่าถ้าตั้งตรงกัน มันจะไปทับข้อมูลของเว็บหลักทั้งหมด อันนี้อันตรายมาก ข้อมูลเว็บหลักจะหายหมด เช่น ผมตั้งว่า fusion2_ ส่วนค่าอื่นๆนั้น ใช้เหมือนการติดตั้งข้อที่ 1 ทั้งหมด ห้ามเพี้ยนครับ เพราะว่าอย่างที่บอก เราจะใช้ database ตัวเดียวกันนั่นเอง
3.แก้ไขไฟล์ includes/multisite_include.php ให้เป็นข้อมูลของ site 1 โดยเลือกแก้เอาเฉพาะที่ต้องการให้ แก้ที่ site อื่นๆที่ไม่ใช่ site 1 นะครับ คือแก้ที่site ลูกครับ ส่วนไฟล์ของ site หลักเราจะคงเดิมเอาไว้ 100% โดยแก้ที่ file includes/multisite_include.php ที่เดียวเท่านั้น แก้ตามนี้ครับ

บรรทัดที่ 61-63 คือการ comment ข้อเดิมออกนะครับ เผื่อว่าวันไหนอยากกับไปใช้แบบเดิม จะได้ แก้comment เท่านั้นเอง
ส่วนบรรทัดที่ 64-66 คือการ copy จาก 61-63 ออกมาแก้นะครับเช่น บรรทัดที่ 64 จะเห็นว่าของเดิมคือ
define("DB_USER_FIELDS",
DB_PREFIX."user_fields");
ผมก็แก้ให้เป็น
define("DB_USER_FIELDS",
"fusion_user_fields");
คือ แก้ให้เป็นข้อมูลของเว็บหลักครับ ยังจำได้หรือเปล่า ว่าขั้นตอนที่ 1 ผมติดตั้งเว็บหลักด้วย prefix fusion_ ดังนั้นผมก็เลยมาแก้ตรงนี้ให้เป็น fusion_ ด้วยครับ แล้วส่วนหลังนั้นคือชื่อ table เหมือนเดิมไม่ได้แก้อะไร
ส่วน ที่ทำทั้งสามอันเลย ก็เพราะว่าเป็นส่วนที่เกี่ยวข้อกับ user ทั้งหมดครับ ก็เลยแก้ทั้งสามอันเลย จริงๆแค่แก้ users อันเดียวก็ได้แล้วครับ
เมื่อเสร็จขั้นนี้ก็ upload ไฟล์ที่แก้นี้ไปทับของเดิมก็เสร็จแล้วครับ
ลอง login ดู แล้วจะพบว่าทั้งสองเว็บใช้ข้อมูล login อันเดียวกันเลยครับ นอกจากนี้ การสมัครสมาชิกจากที่หนึ่ง ก็จะเข้าใช้อีกที่หนึ่งได้ด้วยเหมือนกัน
#
นี่เป็นแค่ส่วนสมาชิก นอกจากนี้ ยังทำส่วนอื่นๆเช่น ข่าวสาร บทความ ก็ยังสามารถทำได้ทั้งหมดครับ
แต่ ข้อควรระวังก็คือ ส่วนที่ join กัน เช่นส่วนสมาชิก เมื่อมีการแก้ไขจากที่ใด อีกที่นึงก็จะมีผลด้วย เช่นว่า siteรอง มีการลบสมาชิกออก site หลัก สมาชิกนั้นก็จะถูกลบไปด้วย เพราะว่าใช้ข้อมูลตัวเดียวกัน
หากมีข้อสงสัย หรือติดปัญหา สามารถพูดคุยเพื่อสอบถามได้ที่
กระดานข่าวของเราครับ หรือฝากข้อความไว้ที่ข้างล่างก็ได้เช่นกัน
บทความนี้แสดงอยู่ในหมวด
PHP-Fusion Core คลิกเพื่ออ่านบทความอื่นๆในหมวดเดียวกัน
- โพสโดย
BWebMass
เมื่อ May 12 2009 20:06:45·
3 คอมเมนท์ ·
2123 ครั้ง ·

เช่า host จดโดเมน กับบริการที่ทำให้ด้วยใจ
สามารถให้คะแนนได้เฉพาะสมาชิกเท่านั้น.
โปรดเข้าสู่ระบบก่อนการให้คะแนน.
ยังไม่มีการให้คะแนน.