PHP 7 ZTS on CentOS (PowerDNS as RBL)

ล่าสุด setup เครื่องนึง สำหรับทำหน้าที่เช็ค RBL (Realtime Blackhole List) เพื่อจะให้อีเมลเซิร์ฟเวอร์ทุกเครื่องมาเช็คผ่านตรงนี้. สาเหตุจริงๆ ที่ต้องทำแบบนี้เป็นเพราะว่า IP DNS ของ IDC บางที่โดน RBL บางที่บล็อคไม่ให้ใช้งาน ก็เลยตั้งใจมาเปิดเครื่องนึงสำหรับทำหน้าที่นี้โดยเฉพาะแล้วกัน โดยวางไว้ที่ IDC ที่ไม่โดน RBL บล็อค จะได้เช็คได้ครบทุกที่ แล้วเซิร์ฟเวอร์ที่อื่นก็มาวานให้เจ้าตัวนี้มันเป็นผู้ตรวจสอบให้.

ตัวเซิร์ฟเวอร์ติดตั้งเป็น PowerDNS + Pipe backend โดยเขียน php script เพื่อไปเช็คกับ RBL แต่ละที่. ตอนแรกเขียนเป็น for loop ง่ายๆ ในการไล่เช็คกับ RBL แต่ละที่ แต่ปัญหา คือ มันทำให้ response time ของเรามันนานเกินไป. เพื่อที่จะแก้ปัญหานี้ เราเลยลองหาวิธีเขียน pararell บน PHP เพื่อให้มันเช็ค RBL ทุกๆ ที่ไปพร้อมๆ กันเลย  เป็นครั้งแรกที่ใช้ PHP แบบนี้ ก็เลยจะบันทึกเก็บไว้หน่อยแล้วกัน. Continue reading “PHP 7 ZTS on CentOS (PowerDNS as RBL)”

Install CentOS 6.4 บนเครื่องที่เป็น UEFI

พอดีได้เครื่อง IBM sytem x3250 M4 มา ผมก็จะนำมาติดตั้ง CentOS 6 + DirectAdmin ตามปรกติ แต่ปรากฏว่าติดปัญหาหลาย step โคตรๆ ตั้งแต่ไม่บูทแผ่น ไม่บูท USB กว่าจะ debug จนทำให้มันบูทเข้า USB ได้นี่ก็เสียเวลาไปเยอะ เพราะว่า Restart แต่ละทีมันรอนานมาก

สรุปประเด็นหลักๆ ที่ติด และวิธีการแก้ไข

1.) USB ที่สร้างมาจาก minimal มันจะไม่สามารถบูทได้ วิธีแก้ คือ ให้ copy โฟลเดอร์ /images/pxeboot ที่อยู่ในแผ่น DVD-1 มาใส่ใน USB ด้วย

2.) การกำหนด Partition ตอนติดตั้ง OS ให้กำหนดเป็นแบบนี้

  • /dev/sda
    • /boot   ext3  200M
    • /boot/efi     EFI System Partition   200M
  • /dev/sdb
    • … ext3 200M
    • … vfat 200M

ปัญหาโหลด php_mysql.dll ในเครื่อง Windows 7 64bit

ปรกติแต่ก่อนใช้ AppServ ในการติดตั้ง Web Server ในเครื่องตัวเอง. แต่ตอนหลังชอบที่จะติดตั้งเองมากกว่าครับ เพราะว่าจะได้ใช้ซอร์ทแวร์เวอร์ชั่นล่าสุดในแต่ละตัว.

ล่าสุดที่ติดตั้งไปนั้น มีดังนี้ครับ

  1. Apache 2.2
  2. PHP 5.2.17
  3. MySQL 5.5.22
ทุกทีก็ไม่มีปัญหานะครับ แต่ล่าสุดนี่งงมากว่าทำไมอยู่ดีๆ เป็นแบบนี้ มันโหลด library mysql และอื่นๆ บางตัวไม่ได้ครับ โดยจะขึ้นใน error.log ลักษณะนี้
PHP Warning:  PHP Startup: Unable to load dynamic library ‘C:/Wamp/php5/ext\\php_mysql.dll’ – The specified module could not be found.\r\n in Unknown on line 0
ทั้งๆ ที่ก็มีไฟล์ php_mysql.dll อยู่ในพาทดังกล่าวครับ. ลองเสิร์ซๆ ดูก็เลยไปพบกับ tools ตัวนึงชื่อว่า Dependency Walker ครับ. ไม่ต้องติดตั้ง สามารถใช้ได้เลยครับ โดยคุณสามารถดาวน์โหลดได้ที่นี่ http://www.dependencywalker.com/
การทำงานของมัน คือ คุณโยนไฟล์ .dll ที่มีปัญหาโหลดไม่ได้เข้าไป มันจะตรวจให้ว่าเราขาดไฟล์ library (.dll) ตัวไหนไปครับ  ก็ไปหาโหลด หรือหาในเครื่องเรานี่แหละ มาวางในโฟลเดอร์ ./ext ให้มันครบครับ
อย่าง php_mysql.dll ของผมมันฟ้องว่ามันหา libmysql.dll ไม่เจอครับ
สุดท้ายผมเอาไฟล์  libmysql.dll  จากในโฟลเดอร์ php ไปวางใน C:\Windows ครับ  ก็สามารถแก้ปัญหาได้เรียบร้อยคร้บ

จดโดเมน .in.th , .co.th , .go.th

สำหรับผู้ที่ต้องการจดทะเบียนโดเมน .in.th , .co.th และ .th อื่นๆ และกำลังมองหาผู้ให้บริการ  ผมขอแนะนำบริการจดทะเบียนโดเมนที่ P&T Hosting เลยครับ จดโดเมน .in.th นอกจากว่าที่นี่จะรับจดทะเบียนในราคาประหยัดแล้ว ยังมีบริการเสริมที่ทาง P&T Hosting ทำเพิ่มมาให้พิเศษอีกด้วยครับ ได้แก่ บริการ Domain Forwarding และ DNS Management (หรือการตั้งค่า Zone Records) ซึ่งปรกติแล้วโดเมน .th จะไม่มีบริการตรงนี้ให้นะครับ คุณจะต้องใช้โดเมน .th ร่วมกับโฮสติ้งเท่านั้น

พอมีบริการลักษณะนี้ เท่ากับว่าคุณจดเฉพาะโดเมนเนม .th ก็สามารถนำไปสมัครอีเมล Google Apps หรือ Windows Live เพื่อสร้างอีเมล @ชื่อโดเมน.in.th ของคุณได้เลย โดยที่ไม่ต้องมีโฮสติ้งเลยครับ เท่ากับว่าในแต่ละปีคุณก็เสียแค่ค่าโดเมนประมาณสามกว่าบาทเท่านั้น เข้าไปดู ราคาโดเมน .th ปัจจุบันได้เลยครับ

nothing

สมัยก่อนตอนที่ต้องทำงานอะไรสักอย่าง เราสามารถเริ่มทำได้เลย โดยที่ไม่ต้องคิดวางแผนอะไรมากมาย งานที่ทำสามารถทำเสร็จได้อย่างรวดเร็ว แต่เดี๋ยวนี้ รู้สึกว่าไม่สามารถคิดปุ๊บ ทำปั๊บ ได้เหมือนเมื่อก่อนแล้ว มีทั้งคิดไม่ออก และมีทั้งคิดออกแต่รู้สึกว่ามันยังใช้ไม่ได้ มันเลยเป็นการทำงานที่ช้ามาก ไม่รู้ว่าเป็นเพราะว่าคิดมากไป กังวลมากไป หรือสมองตอนนี้มันทื่อไปแล้ว… กลุ้ม -*-…

งานหลักๆ ตอนนี้เป็นการแก้ไขปัญหาให้ลูกค้า เล็กบ้าง ใหญ่บ้าง มันก็สนุกดี เหมือนว่าเราเป็นหมอรักษาคนไข้เลย ทำซ้ำไปซ้ำมาจนโคตรพริ้วแล้ว บางทีไม่มีสติก็ทำได้ แต่ก็มีที่ทำพลาดไปเหมือนกัน (-_-“)….

ไม่รู้ว่าเป็นเพราะทำงานตรงส่วนนี้มากไปหรือป่าว เลยไม่ได้ใช้สมองในแบบของการคิดออกแบบเพื่อทำอะไรต่างๆ เหมือนเมื่อก่อนนี้ ถึงยังไงก็ตามมันจะเป็นได้เพียงข้ออ้างสำหรับความเศร้าที่เกิดจากความรู้สึกที่ว่าเรากำลังโง่ลง คงจะต้องหัดคิดให้มากขึ้น ไม่ให้มันฟ่อมากไปกว่านี้ T_T

ตอนนี้อยากรู้อะไรหลายอย่างเลย แต่ก็ยังไม่ชอบการอ่านเยอะๆ อยู่ดี ชอบแนว workshop มากกว่า แต่ที่น่าเศร้าคือ เรื่องที่ต่างๆ ที่อยากรู้ตอนนี้ มันต้องอ่านเยอะมากเลย โอววว…

UTF-8 migration process

พอดีว่าอัพเกรด moodle ให้ลูกค้า

เลยเจอว่าใน package moodle-1.7.7 มีสคริปท์ส่วนนึงที่น่าสนใจดี ( admin/utfdbmigrate.php )

ประมาณแปลง encoding ของข้อมูล ที่เก็บอยู่ใน database ให้เป็น UTF-8

ไม่รู้ว่าใช้แค่ iconv หรือป่าว หรือจะมีอะไรที่เจ๋งกว่านั้น ?

เอาไว้ว่างๆ จะแวะเค้าไปดูซะหน่อย… แปะ entry นี้ไว้กันลืม !

Joomla extension Install/Uninstall

Install from Directory ใน Joomla Administrator ให้ใส่ค่าเป็น path จาก root path เลย

ปล. เช็ค tmp_path ใน configuration.php ก่อนด้วย

====================================

เวลาติดตั้งเสร็จแล้ว แต่มันขึ้น Error message หรือ Warning Message เกี่ยวกับพวกเรื่อง Copy หรือ Moving Files เราก็แค่ดำเนินการเองแบบ Manual ไปเลย