วันเสาร์ที่ 12 กุมภาพันธ์ พ.ศ. 2554

Appserv รันไม่ขึ้น เมื่อเปิด http://localhost แล้วเป็นหน้าขาวๆว่างๆ

Appserv รันไม่ขึ้น เมื่อเปิด http://localhost แล้วเป็นหน้าขาวๆว่างๆ

ผมลง Appserv เพื่อใช้ในการเขียน php นะครับ แต่เมื่อใช้ไปสักระยะมักจะมีอาการแปลกเกิดขึ้นคือ เข้าหน้าเว็บผ่าน http://localhost ไม่ได้ มันจะเป็นหน้าขาวๆไม่มีอะไรเลย ซึ่งก็แก้ไขด้วยการ Remove Appserv ออกแล้วก็ลงใหม่ก็หาย แล้วสักสามวี่วันก็จะเป็นอีก ซึ่งแปลกมากๆ
เมื่อเข้าไปตรวจสอบ Service ของ Appserv ก็พบว่ามัน Start ไม่ขึ้น … แต่ทำใมเราสามารถเข้า Localhost ผ่านบราวเซอร์ได้ล่ะ ถึงจะเห็นเป็นหน้าขาวๆก็เหอะ แสดงว่ามันมีโปรแกรมบางอย่างซึ่งใช้ port 80 แน่ๆ เพราะถ้าไม่มีบราวเซอร์ต้องแสดงเออเร่อ แทนที่จะแสดงหน้าขาวๆสิ
ผมเลยนึกสงสัยว่า โปรแกรมห่าเหวอะไรว๊าที่มันยึดพอร์ต 80 ไปจาก appserv ในที่สุดก็คงไม่พ้น “พี่กู” อีกตามเคย แล้วก็เจอคำตอบซะด้วย
ก็คือเปิด cmd ขึ้นมาแล้วพิมพ์ว่า netstat -o -n -a | findstr 0.0:80
มันก็จะขึ้นบอกไว้อันสุดท้ายว่า pid อะไรที่ใช้ พอร์ตนี้อยู่นะครับ
จากนั้นเราก็เปิด Task manager ขึ้นมา แล้วเปิดแทบ Processes จากนั้นคลิ๊กไปที่เมนู View แล้วเลือก Select Colum แล้วเลือกให้มันแสดง PID ด้วย
จากนั้นเราก็หาใน List ได้เลยว่า PID ที่เราได้จากตอนแรกนั้นตรงกับ Process ของโปรแกรมอะไร
อย่างของผมเนี่ย ตรงกับโปรแกรม Skype เจ้ากรรม มันดันมาใช้ port 80 ซะงั้น ก็เข้าไปตั้งค่า หรือแก้ไขกับโปรแกรมที่ใช้พอร์ต 80 ก็ตามแต่กรณีของท่านนะครับ

2 ความคิดเห็น:

  1. ไม่ระบุชื่อ30 มีนาคม 2554 เวลา 22:14

    ดูตรงไหนค่ะว่ามันตรงกับโปรแกรมไหน

    ตอบลบ
  2. ดูอย่างนี้ครับ คือเมื่อเรารันคำสั่ง
    netstat -o -n -a | findstr 0.0:80 ใน cmd แล้วจะได้เลข PID มาครับ เลขหลังสุดนะจากนั้นเรามาเปิด task mamager แล้วกำหนดให้แสดง PID จากนั้นเราเอาเลข PID ในตอนแรก ดูว่าตรงกับ PID task mamager จากนั้นก็ดูในช่ิอง Image Name ก็จะพอเดาได้ว่าเป็นโปรแกรมอะไรนะครับ เช่น httpd.exe เป็น Appserv เป็นต้นครับ

    ตอบลบ