วิธีแก้ปัญหา เมื่อแอพพลิเคชั่นต่างๆ ไม่ทำงาน

1. อย่างแรกเลยเมื่อพบปัญหาการใช้งาน ต้องเปิดการแสดงผลข้อผิดพลาดของคชสารก่อน ด้วยการไปที่ไฟล์ load.php
/*
* 0 (default) บันทึกเฉพาะข้อผิดพลาดร้ายแรงลง error_log .php
* 1 บันทึกข้อผิดพลาดและคำเตือนลง error_log .php
* 2 แสดงผลข้อผิดพลาดและคำเตือนออกทางหน้าจอ (ใช้เฉพาะตอนออกแบบเท่านั้น)
*/

define('DEBUG', 0);

แก้ไข DEBUG ให้เป็น 2 เพื่อให้คชสารแสดงผลข้อผิดพลาดออกทางจอภาพ
2. Path ผิด ซึ่งมักจะเกิดกับ Server ที่เป็น IIS หรือ Linux ที่มีการกำหนดค่าบางตัวไว้ ซึ่งค่าที่อาจมีปัญหาคือ ROOT_PATH APP_PATH วิธีการตรวจสอบให้ลอง echo ตัวแปรออกมาดู ที่ไฟล์ Kotchasan/load.php ท้ายๆไฟล์ ในกรณีที่ค่าที่กำหนดไม่ถูกต้อง สามารถกำหนดเองได้ที่ไฟล์ load.php (แถวๆ DEBUG)
3. การตั้งค่าฐานข้อมูลแบบรัดกุม ปัญหานี้จะทำให้ไม่สามารถเพิ่มข้อมูลลงในฐานข้อมูลได้ (แต่การแสดงผลอาจทำได้ปกติ) ซึ่งเกิดจากการตั้งค่า sql_mode ไว้ การแก้ไขให้ทำตามนี้ https://www.goragod.com/...a_default_value.html
หรือ ถ้าไม่สามารถเข้าไปแก้ไขการตั้งค่าได้ สามารถกำหนดค่า sql_mode ได้ที่ไฟล์ load.php เช่นกัน
/*
* ระบุ SQL Mode ที่ต้องการ
* หากพบปัญหาการใช้งาน
*/

//define('SQL_MODE','');

โดยการเอา เครื่องหมาย // ข้างหน้า define('SQL_MODE',''); ออก
หรือ สามารถกำหนดค่าที่ต้องการได้

การแสดงผลข้อผิดพลาด หลังจากเปิดใช้งาน DEBUG แล้ว สามารถตรวจสอบได้ 2 ที่ คือ ทางหน้าจอ และ อีกจุดหนึ่งทีสามารถเกิดขึ้นได้คือที่ console ของ Browser ให้ตรวจสอบดูทั้งสองที่ด้วย
4. ปัญหาอีกอย่างที่ได้รับรายงานบ่อยๆ คือ สามารถเพิ่มรายการได้แค่จำนวนหนึ่งจากนั้นจะไม่สามารถเพิ่มได้อีก ถ้าตรวจสอบดู Error log จะพบข้อความประมาณนี้
Duplicate entry '1' for key 'PRIMARY'

ปัญหานี้เกิดจากข้อผิดพลาดของตัวฐานข้อมูลเอง (Bug) เท่าที่ตรวจสอบเจอเป็นกับฐานข้อมูล MySQL 8 (มีรายงานนี้อยู่ที่ MySql แล้ว)
วิธีการแก้ไข ถ้าบน linux ให้ใช้ MariaDB แทน ถ้าบน Windows ที่พบบ่อยคือมาจากการจำลอง Server ด้วย Appserv ซึ่งจะได้ MySQL 8 ผมแนะนำให้เปลี่ยนมาใช้ XAMPP แทน
หมายเหตุ สามารถทดสอบปัญหานี้ได้ด้วยตัวเองโดยเปิด phpMyAdmin มาทดลองเพิ่มรายการดู แล้วสังเกตุดูว่าค่า AUTO_INCREMENT เปลี่ยนหรือไม่
0SHAREFacebookLINE it!
ยังไม่มีความคิดเห็น โพสต์เลยตอนนี้
^