การแก้ปัญหา ติดตั้ง GCMS แล้วขึ้น Error เพียบ
ปัญหานี้มักเกิดกับมือใหม่ หรือเพิ่งมีการจำลองโฮสต์เป็นครั้งแรก ซึ่งอาจเกิดได้กับทุก Script นะครับ ใครที่มีปัญหาในทำนองนี้ก็เอาวิธีนี้ไปใช้แก้ปัญหาได้
การแสดง Error บนหน้าเว็บเมื่อสั่งรัน PHP บน โฮสต์จำลอง (หรือแท้กระทั่ง บน Server จริงๆ) ถ้าสาเหตุไม่ได้มาจากปัญหาของตัว Script ปัญหาก็อาจเกิดจากตัว Server ครับ เนื่องจากการตั้งค่าของ Server ให้แสดงข้อความ Warnning ด้วยนั่นเอง
ซึ่งข้อความที่แสดงจะเป็นข้อความประเภท Warnning (คำเตือน) ซึ่งเว็บสามารถทำงานต่อได้ตามปกติครับ
ใครที่เจอปัญหานี้ มี 2 วิธีในการแก้ไขครับ
ปัญหามันเกิดจากการที่ Server ทำการแสดงผล Warnning ด้วย นอกเหนือจาก Error เราก็แค่ปิดการแสดงผล Warnning ไปซะ แสดง Error เพียงอย่างเดียวก็พอ
ปัญหาอยู่ที่การตั้งค่า error_reporting ของ PHP ครับ ซึ่งโดยปกติแล้ว ค่าที่ Server ส่วนใหญ่ใช้คือ E_ALL & ~E_NOTICE ครับ ซึ่งหมายถึงการแสดงผล Error เพียงอย่างเดียว
ถ้าเป็นบน localhost หรือบน Server ของตัวเองให้ทำการตั้งค่าดังนี้ครับ
1.เปิด PHP.ini ทำการค้นหาบรรทัดนี้ error_reporting อาจมี ; อยู่ข้างหน้า หรืออาจมีค่าอื่นๆกำหนดอยู่ ให้แก้ไขเป็น
2.restart server
แต่ถ้าไม่สามารถทำได้ก็มีวิธีกำหนดด้วยตัวเองบน PHP ครับ โดยการกำหนดค่าลงบน script ที่ทุกหน้าของ PHP ด้วย
ซึ่งบน GCMS มีบรรทัดนี้อยู่แล้วในไฟล์ bin/inint.php ครับ
หรือถ้าไม่ต้องการให้แสดงข้อความอะไรมันซะเลยก็กำหนดให้เป็น
ก็ได้นะครับ
การแสดง Error บนหน้าเว็บเมื่อสั่งรัน PHP บน โฮสต์จำลอง (หรือแท้กระทั่ง บน Server จริงๆ) ถ้าสาเหตุไม่ได้มาจากปัญหาของตัว Script ปัญหาก็อาจเกิดจากตัว Server ครับ เนื่องจากการตั้งค่าของ Server ให้แสดงข้อความ Warnning ด้วยนั่นเอง
ซึ่งข้อความที่แสดงจะเป็นข้อความประเภท Warnning (คำเตือน) ซึ่งเว็บสามารถทำงานต่อได้ตามปกติครับ
ใครที่เจอปัญหานี้ มี 2 วิธีในการแก้ไขครับ
ปัญหามันเกิดจากการที่ Server ทำการแสดงผล Warnning ด้วย นอกเหนือจาก Error เราก็แค่ปิดการแสดงผล Warnning ไปซะ แสดง Error เพียงอย่างเดียวก็พอ
ปัญหาอยู่ที่การตั้งค่า error_reporting ของ PHP ครับ ซึ่งโดยปกติแล้ว ค่าที่ Server ส่วนใหญ่ใช้คือ E_ALL & ~E_NOTICE ครับ ซึ่งหมายถึงการแสดงผล Error เพียงอย่างเดียว
ถ้าเป็นบน localhost หรือบน Server ของตัวเองให้ทำการตั้งค่าดังนี้ครับ
1.เปิด PHP.ini ทำการค้นหาบรรทัดนี้ error_reporting อาจมี ; อยู่ข้างหน้า หรืออาจมีค่าอื่นๆกำหนดอยู่ ให้แก้ไขเป็น
error_reporting = E_ALL & ~E_NOTICE
2.restart server
แต่ถ้าไม่สามารถทำได้ก็มีวิธีกำหนดด้วยตัวเองบน PHP ครับ โดยการกำหนดค่าลงบน script ที่ทุกหน้าของ PHP ด้วย
error_reporting(E_ALL ^ E_NOTICE);
ซึ่งบน GCMS มีบรรทัดนี้อยู่แล้วในไฟล์ bin/inint.php ครับ
หรือถ้าไม่ต้องการให้แสดงข้อความอะไรมันซะเลยก็กำหนดให้เป็น
error_reporting(0);
ก็ได้นะครับ