|
สำหรับลูกค้า hosting แน๊กซ่าที่ทำการ upgrade PHP4 ไปเป็น PHP5 และ MySQL4 ไปเป็น MySQL5 แล้วใช้งาน IPB จะพบปัญหา error เช่น เจอหน้าขาว ๆ ว่าง ๆ วิธีแก้ไขก็ให้ทำการเปิด error_report ขึ้นมา โดยในไฟล์ index.php หรือ init.php ให้เพิ่ม
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_NOTICE);
เข้าไป เมื่อเราเพิ่มเข้าไปในระบบ hosting แล้ว ระบบ hosting จะทำการแสดง error ออกมาให้เห็นครับ อาจจะพบ error ต่อมาเป็นพวก
Undefined index: Privacy
หรือ
Undefined index: act
จริง ๆ แล้วปัญหาทั้งหมดจะไม่ได้อยู่ที่มันไม่รู้จักตัวแปร เหล่านั้น ให้เราเลื่อนไปดูบรรทัดสุดท้ายของ error เลย ซึ่งเราอาจจะพบ error ดังนี้ครับ
Fatal error: Cannot redeclare Boards::$output
ถ้ากรณีนี้แสดงว่า มันไม่รู้จัก class มากกว่าครับ วิธีแก้ไขก็คือ แก้ไขที่ไฟล์ sources/Boards.php ครับ โดยแก้ไข
$DB->query("SELECT f.*, c.id as cat_id, c.position as cat_position, c.state as cat_state, c.name as cat_name, c.description as cat_desc,
c.image, c.url, m.member_name as mod_name, m.member_id as mod_id, m.is_group, m.group_id, m.group_name, m.mid
from ibf_forums f, ibf_categories c
LEFT JOIN ibf_moderators m ON (f.id=m.forum_id)
WHERE f.category=c.id
order by c.position, f.position");
ให้เป็น
$DB->query("SELECT f.*, c.id as cat_id, c.position as cat_position, c.state as cat_state, c.name as cat_name, c.description as cat_desc,
c.image, c.url, m.member_name as mod_name, m.member_id as mod_id, m.is_group, m.group_id, m.group_name, m.mid
FROM (ibf_forums f, ibf_categories c)
LEFT JOIN ibf_moderators m ON (f.id=m.forum_id)
WHERE c.id=f.category
ORDER BY c.position, f.position");
จากนั้น ให้ทำการ clear cookie และ temp file ใน browser ออกก่อน แล้วลองเข้าอีกที ก็จะสามารถเข้าได้ครับ อย่าลืมแก้ในไฟล์ index.php หรือ init.php ตรงส่วน error_report ข้างต้นออกด้วยนะครับ เพราะไม่งั้นโปรแกรมมันจะแสดง notice ออกมาเยอะแยะเลยครับ
#ini_set( 'display_errors', 1 );
#error_reporting( E_ALL | E_NOTICE);
บทความโดย ณัฐธัญ เตชะกาญจนวงศ์
Webdesign Article : |