เวิร์ดเพรสจอดำ แก้ไขอย่างไร

ความเป็นมา .. มีอยู่วันหนึ่ง ในระหว่างเสนอผลการสำรวจคนไทยให้นิสิตของผมได้รู้ถึงสถานการณ์ ว่าทักษะที่แรงงานไทยขาดแคลนมากที่สุดคืออะไร จากข้อมูลที่เคยอ่านพบจากเอกสารในหัวข้อ Productivity and investment climate survey ซึ่ง Boonlert Theeratrakul บอกว่า คนทำงานไทยขาดทักษะสำคัญ 3 เรื่องคือ 1) ภาษาอังกฤษ 2) ทักษะด้านไอที และ 3) ทักษะเชิงตัวเลข จึงจะเปิดเอกสารที่เคยโพสต์ไว้ในบล็อก “IT Blog เทคโนโลยีสารสนเทศ” ซึ่งใช้ระบบ wordpress ให้บริการ Blog เมื่อคลิกเปิด post ตามลิงค์ที่แชร์ไว้ พบว่า จอดำ (Black Screen) บนทั้ง 2 Blog sites ที่เปิดให้บริการไว้

3 เรื่องที่คนไทยขาดแคลน

หลังการสืบค้น .. เข้าไปดูในระบบ administrator พบ fatal error จากโค้ด /legacy /class-jetpack-signature . php on line 218 และแจ้งว่า Call to undefined function ctype_digit() ซึ่งปัญหานี้เกิดขึ้นกับ Blog site ทั้ง 2 ระบบบน server ตัวนี้ เมื่อนึกย้อนไปว่าก่อนหน้านี้เกิดอะไรขึ้นบ้าง พบว่า ผมได้ทำการ upgrade จากรุ่นของ php 7.3 เป็น 7.4 นั่นคือ 7.4 บนเครื่องบริการนี้ ไม่สนับสนุน ctype_digit จึงต้องหาวิธีแก้ไขต่อไป

วิธีแก้ปัญหาที่ 1
พบคำแนะนำให้ลบ folder jetpack ออกจาก plugins แล้วใช้ ftp upload เข้ามาใหม่ ซึ่งคำแนะนำนี้ใช้ได้กับ jetpack ที่หยุดการทำงาน แล้วไม่สามารถสั่ง Activate ขึ้นมาได้ ซึ่งเป็นปัญหาที่เกิดขึ้นกับ shared server ที่เป็น windows ตัวหนึ่งของผม ที่แก้ไขได้ด้วยการอัพโหลดผ่าน FTP แทนการติดตั้งผ่านระบบ admin ของ wordpress โดยตรง แต่กรณี ctype_digit นี้ ไม่สามารถแก้ไขด้วยการเปลี่ยนแฟ้มบนเครื่องบริการ

วิธีแก้ปัญหาที่ 2
พบคำแนะนำให้แก้ไข php.ini โดยมีขั้นตอนดังนี้

  1. เพิ่ม extension=ctype.so เข้า php.ini
  2. สั่ง Activate : jetpack ที่ติดตั้งอยู่ ถ้ามีปัญหา ให้ลบ folder แล้วอัพโหลดใหม่ หรือเปลี่ยนชื่อเป็นชื่ออื่น ซึ่งผมเลือกการเปลี่ยนชื่อ ทำให้เกิดการตรวจสอบในรายการ plugins ใหม่
  3. เมื่อใช้งาน jetpack ได้แล้ว อาจต้อง setup ใหม่ โดยเชื่อมกับ wordpress.com แล้วคลิก Approve
  4. บริการเบื้องต้น คือ Jetpack Stats ซึ่งยังไม่มีค่าใช้จ่าย

ปัญหานี้ เกิดจาก server ที่ให้บริการ webhosting ได้กำหนดค่า default ของ php 7.4 ว่า disabled ctype เป็นแบบ default ส่วนรุ่น 7.3 ไม่พบปัญหา เพราะ enabled เป็น default จึงต้องแก้ไขด้วยการเข้าไปแก้ไข php.ini เพื่อสั่งเรียก extension ที่ชื่อ ctype

ctype_digit function in php 7.4

เปลี่ยน php version ใน apache handlers

apache handlers

20220202 วันนี้มีเรื่องเล่า กรณีปัญหาจาก thainame . net ที่เกิดขึ้นเมื่อหลายวันก่อน คือ wordpress บน hosting ของผมตัวหนึ่ง down ไปพักหนึ่ง เพราะมีการย้ายเครื่องบริการ ตามแผน Maintainance ของผู้ให้บริการที่ผมไปเช่าเค้าอยู่ ซึ่งเข้าใจในสิ่งที่เค้าต้องทำ ต่อมามีโอกาสเข้าไปตรวจสอบเพื่อแก้ไข ได้ควานหาปัญหาจาก code ของ wordpress ว่าปัญหาเกิดจากจุดใดอยู่พักหนึ่ง หาว่าทำไมเปิด blog ขึ้นมาแล้ว ถึง redirect ไป url ที่มีชื่อ host ที่ผมไม่ได้กำหนดขึ้นมาแทนที่ ปัญหาอยู่ตรงที่ ระบบบล็อกรีไดเร็คไปยังที่อยู่ใหม่ที่ผิดพลาด ต่อมา พบตำแหน่งใน code จึงรู้ต้นเหตุว่าในระบบฐานข้อมูล ในตาราง options พบระเบียนที่เก็บข้อมูล WordPress Address (URL) และ Site Address (URL) มีค่าเปลี่ยนไป จึงใช้ phpmyadmin เข้าไปเปลี่ยนกลับให้ถูกต้อง ก็พบว่า blog กลับมาใช้งานได้ปกติ

แล้วตัวผมเองก็มีความต้องการใหม่ขึ้นมา คือ อยากอัพเกรด theme ใหม่ แต่ระบบเตือนว่ารุ่นของ php เป็น 5.6 ซึ่งเก่าแล้ว เมื่อเข้าไปเปลี่ยนเป็น php 7.4 ผ่าน php selector ใน cpanel ซึ่งเป็นตัวเลือกสูงสุดที่มีให้ใช้งานได้ แต่ถ้าจะใช้ php 8.1 ต้องเข้า upgrade แบบเสียค่าใช้จ่าย ผลการเปลี่ยนแปลงใน cpanel ไม่พบปัญหา และใน control panel แสดงเป็น 7.4 ตามที่เปลี่ยนไป แต่ปัญหาอยู่ตรงที่ เปลี่ยนเป็น 7.4 แล้วแต่ phpinfo ยังแสดง php 5.6 อยู่ นั่นหมายความว่า ผมเขียน code ด้วย php และทำงานได้ แต่ตัวแปลภาษายังเป็นรุ่น 5.6 เช่นเดิม นั่งทำใจค้นข้อมูลอยู่เกือบสัปดาห์หนึ่ง มีคนบ่นใน community ของผู้ให้บริการเหมือนผม แต่ไม่มีคำตอบที่น่าพึงพอใจ แล้ววันหนึ่งตอนที่สมองโล่งหน่อย ก็เข้าไปตรวจใน apache handlers เพียงไม่นาน พบว่า เรากำหนดได้ว่าสกุล php จะใช้ application ใด แล้วผมก็เปลี่ยนจาก 5.6 เป็น 7.4 ณ ตำแหน่งนี้ สรุปว่า ตรวจสอบด้วย phpinfo และเขียน code php พบว่าทำงานด้วย 7.4 ตามที่ต้องการแล้ว

site address

#เล่าสู่กันฟัง 63-032 ฐานข้อมูลต่างรุ่น

ผู้ให้บริการแต่ละราย ให้บริการเครื่องโฮส
ที่มีภาษา และฐานข้อมูลต่างรุ่นกันไป
บางเครื่องมีภาษาให้เลือกเปลี่ยนได้ง่าย
บางเครื่องมีฐานให้เลือกติดตั้ง
แต่เปลี่ยนหลังติดตั้งไปมาไม่ได้

ภาพตัวอย่างพูดถึงรุ่นของ mysql
ระหว่าง 5.5.30 และ 5.6
ที่บางระบบกำหนดฐาน รุ่น 5 ไว้ให้
ปัจจุบันพัฒนาไปถึง Mariadb 10.5 กับ Mysql 8
แต่เครื่องที่ผมมีใช้ 5.0.12 กับ php7
ที่ http://www.thaiall.com/moodle

เครื่องที่ใช้คือแชร์เครื่อง
ไม่ใช่เครื่องที่ติดตั้ง xampp หรือ appserv

มีโปรแกรมเก่า wp ที่ถูกบังคับเปลี่ยน
ให้ใช้ภาษารุ่น 7 ทำงานกับฐานรุ่น 5 ได้
แต่กับ moodle ไม่ได้ออกแบบให้ทำกับ
ฐานรุ่น 5 ต้องแก้ไข code
ทั้ง deprecated และ constructor
แล้วก็ไปเล่าเรื่องการเปลี่ยน script
ที่ http://www.thaiall.com/php/php7.htm

ถ้ามีโอกาสก็จะเล่าเรื่อง glossary
บน moodle
ใน http://www.thaiall.com/e-learning

พูดคุยแลกเปลี่ยนใน github

อ้างอิง
https://en.m.wikipedia.org/wiki/MySQL

https://en.m.wikipedia.org/wiki/MariaDB

https://www.000webhost.com/forum/t/mysql-version-with-pro-and-free-hosting/61652

สมัยก่อนมนุษย์มีสมบัติพัสถาน น้อยประเภทกว่าสมัยนี้นะ

sar handbook in bhes 2557
sar handbook in bhes 2557

สมบัติพัสถาน หมายถึง ทรัพย์สิน ที่ดิน และบ้านเรือน
อันได้แก่ แก้ว แหวน เงิน คำ ภาพวาด รูปป้้น อาคาร และสิ่งปลูกสร้าง
แต่สมัยนี้หาสมบัติพัสถานแบบเดิมมาเป็นเจ้าของนั้นยากขึ้น
สำหรับบางอาชีพ สมัยนี้การเลือกอาชีพจึงเป็นสิ่งสำคัญสำหรับเด็กมัธยม

สมบัติรูปแบบใหม่ที่เริ่มหากันมาครอบครอง ก็คือสิ่งที่อยู่ใน cloud
จับต้องกันไม่ค่อยได้ ที่จับต้องได้ก็เป็นเพียงเครื่องมือ เช่น server
แต่สิ่งมีค่ากว่า hardware คือ content
เช่น ภาพ คลิ๊ป งานเขียน เพชรนินจินดาในเกม หรือเงินในเกม เป็นต้น

วันนี้ได้ใช้บริการ revision ของ scribd.com
คือ upload เอกสารของ สกอ. ไปทับของเดิม
แต่ข้อมูลแวดล้อมเดิมยังอยู่
เพียงแต่เปลี่ยนรุ่น ก็เหมือนระบบของ fb group
ที่ผมมัก upload lecture note ให้นักศึกษาได้ติดตาม
ในระหว่างเรียนมีการแก้ไข ก็จะทำการ revision หลังปิดชั้นเรียน

เหตุที่ต้อง revision ใน scribd.com ครั้งนี้
เพราะผมนำเอกสาร pdf มา merge กันด้วย pdfcreator
แต่มีปัญหา หน้าสีดำเป็นบางหน้า
แล้ววันต่อมา ที่มหาวิทยาลัย คุณเปรม ได้รับแฟ้มจากพี่ทอง
แล้ว upload แฟ้มที่มีการ merge กันอย่างสมบูรณ์
ผมจึงนำเอกสาร ที่เป็นร่างประกันสกอ. 2557 มา upload ทับรุ่นเดิม
ผมถือว่าเอกสารต่าง ๆ ใน cloud หรือ social media
ล้วนเป็นสมบัติพัสถาน เพราะมีค่าทางจิตใจ และรู้สึกว่าเราเป็นเจ้าเข้าเจ้าของนั่นเอง

scribd can do revision
scribd can do revision

เอกสารรุ่นใหม่ ค้นจาก google.com ด้วยคำว่า
“ร่างคู่มือการประกันคุณภาพการศึกษาภายในสถานศึกษาระดับอุดมศึกษา พ.ศ.2557”
พบลิงค์แรก คลิ๊กเข้าไปก็พบบริการ “ตรวจสอบรายชื่ออาจารย์”
ที่ http://www.mua.go.th/users/bhes/

รุ่นใหม่ ทาง สกอ.ได้อัพเดท กำหนดตัวบ่งชี้ไว้ถึง 2.9
https://www.scribd.com/doc/241588240/

ส่วนรุ่นเก่าที่ระดับคณะวิชา กำหนดตัวบ่งชี้ไว้ถึง 2.8
เมื่อ 3 ต.ค.57 พบว่าถูก view ไป 377 ครั้ง
https://www.scribd.com/doc/221987061/

ค่าใน _SERVER[“REQUEST_URI”] เปลี่ยนไปใน PHP 5.2.6

PHP 5.2.6 & PHP 4.4.9
PHP 5.2.6 & PHP 4.4.9

พบปัญหาใน script : managefile.php ที่ให้บริการจัดการแฟ้มแบบออนไลน์ หลัง upgrade server ตัวหนึ่ง แบบย้ายเครื่องแล้ว clone ข้อมูล มีการติดตั้ง webserver version ใหม่ พบว่าความสามารถในการกำหนดรหัสผ่านใหม่ ซึ่งใช้เทคนิคการ encrypt + password embedded + replace script โดยใช้ค่าที่รับจากตัว script เอง .. กลับใช้งานไม่ได้ แล้ว script ตอบมาว่าติดปัญหา security ไปตรวจดูก็พบว่าค่าของ  $_SERVER[“REQUEST_URI”] ของ PHP 5.2.6 ต่างไปจากเดิม แก้ไขโดยเปลี่ยนจาก $_SERVER[“REQUEST_URI”] เป็น  $_SERVER[“SCRIPT_NAME”]

http://thaiwebsearch.hypermart.net/perlphpasp/source.pl?9102

ปล.ต้องหาเวลาเข้า upgrade script แล้ว