หัวข้อ: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: คนเดินทางไกล ที่ 02 สิงหาคม 2010, 19:05:01 คือ ทำ multi site ผ่านแล้ว จะทำ multidb ทำตามเว็บนี้ครับ
โค๊ด: http://www.nichecyber.com/read.php?tid=356 แล้วมันขึ้นหน้าขาวจั๊วเลยครับ มันก็ก๊อป db ไปครบหมดนะครับ นี่ครับ โค๊ด: http://www.centerpricegoods.com/ ไฟล์ error มันขึ้นมายังงี้ PHP Fatal error: Call to undefined method wpdb::tables() in /home/xxxxx/public_html/wp-includes/functions.php on line 1839 หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: คนเดินทางไกล ที่ 02 สิงหาคม 2010, 22:36:22 ดันยามดึก :wanwan014:
หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: g-ji ที่ 02 สิงหาคม 2010, 22:59:55 กรรม ตอบผิดกระทู้ :o :wanwan031: มันเด้งมาอันนี้ได้ไงหว่า
หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: คนเดินทางไกล ที่ 03 สิงหาคม 2010, 00:02:58 กรรม ตอบผิดกระทู้ :o :wanwan031: มันเด้งมาอันนี้ได้ไงหว่า ??? ???หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: lopata ที่ 03 สิงหาคม 2010, 00:20:28 กรณีให้ main site อยู่ที่ global db ให้แก้ไข ดังนี้
1. db-config.php 1.1) บรรทัด ประมาณ 26 เพิ่ม add_global_table('wp_blogs'); add_global_table('wp_blog_versions'); add_global_table('wp_commentmeta'); add_global_table('wp_comments'); add_global_table('wp_links'); add_global_table('wp_options'); add_global_table('wp_postmeta'); add_global_table('wp_posts'); add_global_table('wp_registration_log'); add_global_table('wp_signups'); add_global_table('wp_site'); add_global_table('wp_sitemeta'); add_global_table('wp_terms'); add_global_table('wp_term_relationships'); add_global_table('wp_term_taxonomy'); add_global_table('wp_usermeta'); add_global_table('wp_users'); 1.2) บรรทัดที่ 16 กรณีที่ apache และ mysql อยู่เครื่องเดียวกัน สามารถใช้ add_dc_ip('127.0.0.', 'dc1'); แทนได้เลย ไม่ต้องหา ip address ให้ใช้ ip loopback เลย (หรือทำตามตัวอย่าง work เหมือนกัน) 1.3) แนะนำให้ปิด vip db สำหรับ vip blog //add_db_server('vip1', 'dc1',... //add_vip_blog(1, 'vip1'); 2. db.php 2.1 เพิ่ม code จาก โค๊ด: function get_blog_prefix( $blog_id = '' ) { เป็น โค๊ด: function get_blog_prefix( $blog_id = '' ) { จาก โค๊ด: var $blog_tables = array('posts', 'categories', 'post2cat', 'comments', 'links', 'link2cat', 'options', 'postmeta', 'terms', 'term_taxonomy', 'term_relationships'); โค๊ด: var $blog_tables = array('posts', 'categories', 'post2cat', 'comments', 'links', 'link2cat', 'options', 'postmeta', 'terms', 'term_taxonomy', 'term_relationships','commentmeta'); พวก die() error msg ไม่ show เพราะมันอยู่นอก tag <tr><td> จะดูต้อง view html src browser เอา ให้แก้ ตามนี้ เอาไปทับชุดเดิมตั้งแต่ while loop เป็นต้นมา โค๊ด: while ($row = mysql_fetch_row($result)) { หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: lopata ที่ 03 สิงหาคม 2010, 00:27:04 จากนั้นลองไล่ดูครับ ว่ามันกระจาย table ถูก db หรือไม่ ผ่าน phpmyadmin
วิธีคร่าวๆ $md5_hash = md5($blogid); $md5_dbprefix = substr($md5_hash, 0, $newdbsize); code ข้างบนเป็นของ move-blogs.php เพราะมันต้องสัมพันธ์กับ db.php ตรง md5() เพื่อเป็น selector db เช่น กรณี 256 db => $newdbsize = 2 blogid = 2 => c81e728d9d4c2f636f067f89cc14862c , dbprefix = c8 blogid = 3 => eccbc87e4b5ce2fe28308fd9f2a7baf3 , dbprefix = ec และ blogid = 1, db ต้องเป็น global นะ ลองดูนะ ไปแล้วครับ หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: yyy ที่ 03 สิงหาคม 2010, 00:30:11 ตอนที่ทำ เคยมีปัญหากับหน้าหลักของเว็บเหมือนกัน
แต่ไม่แน่ใจว่าจะเป็นปัญหาเดียวกันหรือเปล่านะครับ จากกระทู้นี้ http://www.thaiseoboard.com/index.php?topic=105484.0 เคยไปถามเอาไว้ มีผู้ใจดีเข้ามาตอบ 2 ท่าน ตามนี้ครับ 1. ลองแก้ db-config.php ของ MultiDB บรรทัดที่ 62 ใส่ # หน้า add_vip_blog(1, 'vip1'); 2. หุหุ มาบอกไม่ทันว่าให้ย้าย db ของโดเมนหลักไปไว้ใน vip แต่ถ้าทำแบบที่คุณ Doytao บอกแล้วได้ ผมก็ขอเอาไปใช้ด้วยนะครับ :wanwan020: ผมแก้แบบแรกก็ใช้ได้เลย ลองดูนะครับ หัวข้อ: Re: wordpress-3.0.1 ทำ multidb แล้วขึ้นหน้าขาว ๆ ครับใครก็ใด้ช่วยผมที เริ่มหัวข้อโดย: คนเดินทางไกล ที่ 03 สิงหาคม 2010, 02:07:49 กรณีให้ main site อยู่ที่ global db ให้แก้ไข ดังนี้ 1. db-config.php 1.1) บรรทัด ประมาณ 26 เพิ่ม add_global_table('wp_blogs'); add_global_table('wp_blog_versions'); add_global_table('wp_commentmeta'); add_global_table('wp_comments'); add_global_table('wp_links'); add_global_table('wp_options'); add_global_table('wp_postmeta'); add_global_table('wp_posts'); add_global_table('wp_registration_log'); add_global_table('wp_signups'); add_global_table('wp_site'); add_global_table('wp_sitemeta'); add_global_table('wp_terms'); add_global_table('wp_term_relationships'); add_global_table('wp_term_taxonomy'); add_global_table('wp_usermeta'); add_global_table('wp_users'); 1.2) บรรทัดที่ 16 กรณีที่ apache และ mysql อยู่เครื่องเดียวกัน สามารถใช้ add_dc_ip('127.0.0.', 'dc1'); แทนได้เลย ไม่ต้องหา ip address ให้ใช้ ip loopback เลย (หรือทำตามตัวอย่าง work เหมือนกัน) 1.3) แนะนำให้ปิด vip db สำหรับ vip blog //add_db_server('vip1', 'dc1',... //add_vip_blog(1, 'vip1'); 2. db.php 2.1 เพิ่ม code จาก โค๊ด: function get_blog_prefix( $blog_id = '' ) { เป็น โค๊ด: function get_blog_prefix( $blog_id = '' ) { จาก โค๊ด: var $blog_tables = array('posts', 'categories', 'post2cat', 'comments', 'links', 'link2cat', 'options', 'postmeta', 'terms', 'term_taxonomy', 'term_relationships'); โค๊ด: var $blog_tables = array('posts', 'categories', 'post2cat', 'comments', 'links', 'link2cat', 'options', 'postmeta', 'terms', 'term_taxonomy', 'term_relationships','commentmeta'); พวก die() error msg ไม่ show เพราะมันอยู่นอก tag <tr><td> จะดูต้อง view html src browser เอา ให้แก้ ตามนี้ เอาไปทับชุดเดิมตั้งแต่ while loop เป็นต้นมา โค๊ด: while ($row = mysql_fetch_row($result)) { ขอบคุณมากครับจัดไป +1 |