A-AA+then

ปัญหานี้ผมเจอตอนที่ย้าย Server ใหม่ (Script นี้เคยใช้ได้บน Server เดิม)
// เชื่อมต่อกับ server
$connection = fsockopen($this->whoisserver, 43, $errno, $errstr, 5);

จากการตรวจสอบ $errno และ $errstr ได้ผลตอบกลับว่า $errno = 110 และ $errstr = connection timed out
จากการทดลองเพิ่ม timeout จาก 5 เป็น 20 ก็ยังไม่สามารถทำงานได้

ข้ามไปวิธีสุดท้ายเลยละกัน
ผมทดลองปิด firewall ปรากฏว่ามันใช้งานได้ แสดงว่าปัญหาอยู่ที่ firewall บล๊อคพอร์ต 43 ซึ่งมีการใช้งานตามสคริปต์

การแก้ปัญหา เพิ่มกฎของ firewall ศำหรับพอร์ต 43
ส่วนตัวผมใช้ CentOS Web Panel อยู่ เลยเข้าไปตั้งค่า firewall ตามนี้
เพิ่ม Port 43 ลงใน TCP_OUT
# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,.....,43"

เสร็จแล้ว restart firewall

Relate

^