ปัญหาของ PDO::__construct() มีทานใดแก้ได้แล้วบ้างครับ
[2021-01-13 21:47:46] ERROR:
PHP notice : PDO::__construct(): send of 5 bytes failed with errno=32 Broken pipe in /home/xxxxx/domains/xxxxxxxx.com/public_html/xxxxxx/Kotchasan/Database/PdoMysqlDriver.php on line 59
จาก Error นี้ ผมลองหาใน Google ดูแล้ว บ้างก็ให้เพิ่ม
$this->oprions[\PDO::ATTR_PERSISTENT] = TRUE;
$this->oprions[\PDO::ATTR_ERRMODE] = \PDO::ERRMODE_EXCEPTION;
$this->oprions[\PDO::ATTR_EMULATE_PREPARES] = TRUE;
แต่ก็ไม่ได้ผล บ้างก็ให้แก้ my.cnf แต่ server เป็นแบบเช่า เราแก้เองไม่ได้ จนปัญญา T____T
PHP notice : PDO::__construct(): send of 5 bytes failed with errno=32 Broken pipe in /home/xxxxx/domains/xxxxxxxx.com/public_html/xxxxxx/Kotchasan/Database/PdoMysqlDriver.php on line 59
จาก Error นี้ ผมลองหาใน Google ดูแล้ว บ้างก็ให้เพิ่ม
$this->oprions[\PDO::ATTR_PERSISTENT] = TRUE;
$this->oprions[\PDO::ATTR_ERRMODE] = \PDO::ERRMODE_EXCEPTION;
$this->oprions[\PDO::ATTR_EMULATE_PREPARES] = TRUE;
แต่ก็ไม่ได้ผล บ้างก็ให้แก้ my.cnf แต่ server เป็นแบบเช่า เราแก้เองไม่ได้ จนปัญญา T____T
wait_timeout=60
to
wait_timeout=3600
This is located in the /etc/mysql/my.cnf
ใช่วิธีนี้รึป่าวครับ ผมลอง server ที่เช่าอีกเจ้าไม่มีปัญหา ตอนนี้ก็ยังแก้ไม่หาย เป็นท้อ..
ส่วนตัวที่มีปัญหาคือ version 3.1.1
ผมแนบ รูปเปรียบเทียบ server ตัวที่ไม่มีปัญหาทั้ง 2 version
เริ่มจากผมไม่สามรถเข้าเมนู สมาชิกได้ เพราะมี Error ตัวนี้
ผมทำการ บัคโค้ดทีละจุด จนมาเจอว่า ตัวปัญหาคือ self::$cfg->member_status
ผมแก้ปัญหานี้ด้วยการ ไปสร้าง array Member_status ใน ตั้งค่าภาษาแทน ตอนนี้สามารถใช้งานได้แล้วครับ
อาจารย์อาจะแก้ไขปัญหาใน version หน้า โดยการเปลี่ยน member_status ให้เรียกผ่าน DB เอานะครับ
ตัวแปรนี้มีโดย default อยู่แล้วครับ https://github.com/.../Gcms/Config.php#L75
ถ้าไม่ได้มีการแก้ไขไว้ที่อื่น หรือไปตั้งค่าไว้ที่อื่น ไม่มีปัญหาแน่ๆ (น่าจะเกิดจากการแก้ไขด้วยตัวเอง)