XAMPP - พอร์ต 80 ที่ใช้โดย“ ไม่สามารถเปิดโปรเซส” ด้วย PID 4! 12


182

ฉันพยายามหาวิธีแก้ไขปัญหานี้เป็นเวลาสองวัน ฉันใหม่สำหรับสิ่งนี้ดังนั้นฉันจะขอบคุณถ้ามีคนบอกฉันว่าจะแก้ไขได้อย่างไร

ฉันพยายามลบ skype แต่ไม่ได้ผลฉันได้ลองปิดการใช้งานเว็บทั่วโลกแล้ว IIS ไม่ได้ทำงานอะไรเลย

12:51:22 PM  [Apache]   Problem detected!
12:51:22 PM  [Apache]   Port 80 in use by "Unable to open process" with PID 4!
12:51:22 PM  [Apache]   Apache WILL NOT start without the configured ports free!
12:51:22 PM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
12:51:22 PM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port

2
ไม่ฉันจะพิมพ์มันที่นี่ไม่ใช่ทุกคนรู้ทุกอย่างเกี่ยวกับคอมพิวเตอร์ ฉันขอความช่วยเหลือฉันทำมันจนทุกอย่างที่ผู้คนพูดไม่ทำงาน
3097839

อ่านี่มันสมเหตุสมผลมากกว่านี้แล้ว ลองpetri.co.il/quickly_find_local_open_ports.htmเพื่อดูว่าใครกำลังบล็อกพอร์ต 80
Pekka

9
@Pekka ฉันทำงานกับคอมพิวเตอร์มาไม่นานหลังจากที่ฉันเลิกใช้ผ้าอ้อมฉันเคยเป็นโปรแกรมเมอร์มาเป็นเวลาเกือบสิบปีแล้วและฉันก็ถามคำถามนี้และขอบคุณเพราะผู้คนถามและตอบคำถามนี้ เว็บไซต์ฉันพบคำตอบอย่างรวดเร็ว แม้ว่าสิ่งนี้อาจจะถูกโยกย้ายไปยังผู้ใช้ระดับสูง แต่ผู้คนที่ไม่ดีและทำให้พวกเขารู้สึกโง่ที่ถามคำถามที่ถูกกฎหมายนั้นตรงกันข้ามกับที่ชุมชนนี้ทำหน้าที่อย่างไร ฉันขอแนะนำให้คุณหาจุดมุ่งหมายอื่นในชีวิต

3
ฉันไม่แน่ใจว่าผลลัพธ์นี้เกิดขึ้นที่ใดในระหว่างการค้นหาของคุณ แต่ในการค้นหาของฉันต้องขอบคุณชุดข้อความนี้นี่คืออันดับต้น ๆ ของรายการ นั่นคือสิ่งที่ชุมชนนี้มุ่งมั่นที่จะเป็นฐานความรู้ที่มองเห็นได้และเป็นที่รู้จักกันดีสำหรับสิ่งประเภทนี้ ดังนั้นในขณะที่ฉันซาบซึ้งในสิ่งที่คุณพูด แต่ในความเป็นจริงภารกิจสำเร็จแล้วต้องขอบคุณ OP

@TechnikEmpire แต่ความจริงที่ว่าคำถามนี้คือตอนนี้ผลการจัดอันดับสูงของ Google เป็นส่วนหนึ่งของปัญหาไม่ใช่ทางออก ผลลัพธ์ของ Google มีคำตอบที่ดีอยู่แล้วก่อนที่คำถามนี้จะเกิดขึ้น - ฉันตรวจสอบก่อนที่จะแสดงความคิดเห็นฉันมักจะทำ คำตอบเหล่านี้อาจถูกผลักดันโดยคำถามนี้เพราะ clout อันยิ่งใหญ่ของ Google ดูการสนทนาที่นี่: meta.stackexchange.com/questions/160565/…
Pekka

คำตอบ:


354
  1. เปิดพรอมต์ CMD ในฐานะผู้ดูแลระบบและดำเนินการคำสั่งต่อไปนี้:

    net stop was /y
    
  2. เปิดกล่องโต้ตอบ Run (กดWin+ R) จากนั้นพิมพ์:services.msc

    จากนั้นค้นหาWorld Wide Web Publishing Service (WWW-Publishing Service) และWeb Deployment Agent Serviceและหยุดพวกเขา คุณควรปิดการใช้งาน

  3. เริ่ม Apache อีกครั้งด้วย XAMPP :)

ลิงก์อ้างอิง: https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/


15
ฉันไม่สามารถหาเวิลด์ไวด์เว็บได้
Mohammad Kermani

4
อีกวิธีในการเข้าถึงบริการ - ไปที่ Control Panel > System and Security > Administrative tools > Services
อัลจี

28
"บริการรายงานของ SQL Server (MSSQLSERVER)" ใช้พอร์ต 80 ด้วยดังนั้นควรหยุดหากมีการตัดการเชื่อมต่อ MS-SQL บนเครื่องของคุณ
johnkarka

1
ความคิดใด ๆ ว่าทำไมสิ่งนี้อาจเกิดขึ้น? Windows เป็นคนโง่หรือมีคนแฮ็คเครื่องของฉันหรือไม่
Stan Quinn

5
ฉันปิดบริการการประกาศบนเวิลด์ไวด์เว็บและปัญหาได้รับการแก้ไขแล้ว! ขอบคุณ.
Mike Stratton

139

อีกตัวเลือกที่ง่ายมากคือการตั้งให้ Apache ฟังบนพอร์ตอื่น สิ่งนี้สามารถทำได้โดยคลิกที่ปุ่ม "กำหนดค่า" ในบรรทัดเดียวกับโมดูล "Apache" เลือกไฟล์ "httpd.conf" ในเมนูแบบเลื่อนลงจากนั้นเปลี่ยนบรรทัด "Listen 80" เป็น "Listen 8080" บันทึกไฟล์และปิด

ตอนนี้มันหลีกเลี่ยงพอร์ต 80 และใช้พอร์ต 8080 แทนโดยไม่มีปัญหา สิ่งเพิ่มเติมที่คุณต้องทำคือให้แน่ใจว่าใส่localhost:8080เบราว์เซอร์เพื่อให้เบราว์เซอร์รู้ที่จะมองหาพอร์ต 8080 มิฉะนั้นจะเป็นค่าเริ่มต้นที่พอร์ต 80 และจะไม่พบไซต์ท้องถิ่นของคุณ

สิ่งนี้จะทำให้คุณต้องรีสตาร์ท Apache เพื่อให้การเปลี่ยนแปลงมีผล

Voila! แก้ไขแล้ว.


ฉันได้รับการอัพเกรดเป็น Windows 10 และทำให้ XAMP ของฉันติดตั้งได้ยากคำตอบนี้จะแก้ไขให้ฉัน ขอบคุณ!
เอียน

สิ่งนี้ใช้ได้สำหรับฉันด้วยยกเว้นฉันออกจากทุกอย่างคลิกที่ xampp_start C:/xamppแล้วเปลี่ยนเป็นพอร์ต 81 8080 ไม่ได้ผลสำหรับฉัน
user3553260

1
ฉันแนะนำทางออกของคุณ ในกรณีของฉันฉันต้องพัฒนา ASP .NET Application และ PHP ถ้าฉันหยุด World Wide Web Publishing Serviceฉันไม่สามารถทำงานกับแอปพลิเคชัน ASP ของฉันได้ ดังนั้นการเปลี่ยนพอร์ตจึงเป็นทางออกสำหรับฉัน ขอบคุณ!
mihkov

3
ในไฟล์ httpd.conf เพิ่มเติมคุณอาจต้องเปลี่ยนพอร์ตจาก "Config"> "Service and Port Settings" บนแท็บ "Apache" เปลี่ยนค่า "พอร์ตหลัก" เป็นพอร์ตใหม่
Ian A

42

ใน httpd.conf เปลี่ยนบรรทัดต่อไปนี้จากนั้นรีสตาร์ทแอปพลิเคชัน:

  • Listen 80 ถึง Listen 8080
  • ServerName localhost:80 ถึง ServerName localhost:8080

เมื่อคุณกด "เริ่ม" แอปพลิเคชันยังคงสามารถพูดได้ว่าคุณมีข้อผิดพลาดเช่น "พอร์ต 80 ที่ใช้งานโดย" ไม่สามารถเปิดกระบวนการ "ด้วย PID ... " แต่มันจะยังคงทำงาน

หากข้อผิดพลาดมี "พอร์ต 443 ที่ใช้งานโดย" ไม่สามารถเปิดกระบวนการ "ด้วย PID ... " คุณต้องเปลี่ยนทั้ง httpd.conf และ httpd-ssl.conf

ในการเปลี่ยนแปลง httpd-ssl.conf:

  • Listen 443 ถึง Listen 4433
  • <VirtualHost _default_:443> ถึง <VirtualHost _default_:4433>
  • ServerName www.example.com:443 ถึง ServerName www.example.com:4433

ฉันสิ้นสุดที่ต้องทำสิ่งนี้ในปัญหาของฉัน ความดี! PID นั้นเป็นระบบ
mzimhle

42

สกัดจากบทความนี้ :

  1. ไปที่คำสั่ง run และป้อน:

    netstat -o -n -a | findstr 0.0:80

หมายเลขสุดท้ายที่นี่คือ ID กระบวนการที่ใช้ นี่คือ IIS หรือเว็บอื่น ๆ ส่วนใหญ่เกี่ยวข้องกับบริการและง่ายต่อการแก้ไข แต่บ่อยครั้งมาก (บ่อยครั้งที่มันดูเหมือนจะมองไปรอบ ๆ บน google) ดูเหมือนว่าจะเป็น PID 4 - ซึ่งตามที่ Windows Task Manager เป็นเคอร์เนล NT และ ระบบ. ไม่ค่อยมีประโยชน์ในการฆ่าเพราะจะส่งผลให้มีหน้าจอสีน้ำเงินตาย

สิ่งที่ hogging พอร์ต 80 ไม่เกี่ยวข้องกับ IIS หรือเว็บอะไรเป็นบริการรายงานของ SQL Server ปิดสิ่งที่มีลักษณะคล้ายกับบริการเซิร์ฟเวอร์ SQL และเริ่ม Apache อีกครั้งโดยไม่จำเป็นต้องรีบูต

ดังนั้นปัญหาเกี่ยวกับ PID 4 ที่ฟังพอร์ต 80 ตรวจสอบบริการ SQL ของคุณแล้วปิด

อัปเดต - ความคิดเห็นจาก @sangam:

ทำงานที่กระสุน ในกรณีของฉันมันกลายเป็นบริการรายงานเซิร์ฟเวอร์ SQL ฉันหยุดให้บริการสำหรับอินสแตนซ์ที่ติดตั้งทั้งหมดและใช้งานได้ (ไม่ต้องรีบูตเครื่อง)


7
ทำงานที่กระสุน ในกรณีของฉันมันกลายเป็นบริการรายงานเซิร์ฟเวอร์ SQL ฉันหยุดให้บริการสำหรับอินสแตนซ์ที่ติดตั้งทั้งหมดและใช้งานได้ (ไม่ต้องรีบูตเครื่อง) ขอบคุณ.
sangam

1
มีประโยชน์มาก .. ก่อนหน้านี้ฉันเปลี่ยนพอร์ต skype และการปิดบริการ sql ช่วยฉันมาก ขอบคุณมาก
Waqar

2
ในที่สุดในกรณีของฉันก็คือ MSSQL เช่นกัน
Tom Sarduy

1
หยุดบริการรายงานของ SQL Server (MSSQLSERVER) ทำงานให้ฉัน
รบกวน

1
ขอบคุณนี่คือคำตอบสำหรับฉัน
balron

34

ดังนั้นฉันจึงต้องเผชิญกับปัญหาเดียวกันเมื่อพยายามเริ่มบริการ Apache และฉันต้องการแบ่งปันวิธีแก้ปัญหาของฉันกับคุณ นี่คือหมายเหตุเกี่ยวกับบริการหรือโปรแกรมที่อาจใช้พอร์ต 80:

  1. Skype : Skype ใช้พอร์ต 80/443 ตามค่าเริ่มต้น คุณสามารถเปลี่ยนจากTools -> Options -> Advanced -> Connectionsและปิดช่อง"การใช้พอร์ต 80 และ 443 สำหรับการเชื่อมต่อเข้า addtional"

  2. IIS : IIS ใช้พอร์ต 80 เป็นค่าเริ่มต้นดังนั้นคุณต้องปิดระบบ คุณสามารถใช้คำสั่งสองคำสั่งต่อไปนี้: net stop w3svc, net stop iisadmin.

  3. บริการรายงานของ SQL Server : คุณต้องหยุดบริการนี้เนื่องจากอาจใช้พอร์ต 80 หาก IIS ไม่ทำงาน ไปที่บริการในท้องถิ่นและหยุด

  4. VMware Workstation : หากคุณใช้งาน VMware Workstation คุณต้องหยุดการทำงานของเซิร์ฟเวอร์ VMware Workstation - พอร์ต 443 เช่นกัน

ตัวเลือกเหล่านี้ใช้งานได้ดีกับฉันและฉันสามารถเริ่มบริการ Apache ได้โดยไม่มีข้อผิดพลาด

ตัวเลือกอื่นคือเปลี่ยน Apache ฟังพอร์ตจากhttpd.confและตั้งหมายเลขพอร์ตอื่น

หวังว่าโซลูชันนี้จะช่วยให้ทุกคนที่ประสบปัญหาเดียวกันอีกครั้ง


4
Mine เป็นบริการรายงานของ SQL Server ขอบคุณ!
Jayanga Kaushalya

การหยุด w3svc แก้ไขปัญหาของฉันใน windows 10. คำตอบที่ดี
Nox

คุณจะบอกได้อย่างไรว่าบริการใดบ้างที่ใช้พอร์ต 80 (Windows 10)
Chris Nielsen

สำหรับฉันนี่ใช้งานได้ "IIS: IIS ใช้พอร์ต 80 เป็นค่าเริ่มต้นดังนั้นคุณจำเป็นต้องปิดระบบคุณสามารถใช้คำสั่งสองคำสั่งต่อไปนี้: net stop w3svc, net stop iisadmin"
Ravindra Singh

33

คุณอาจต้องหยุด "บริการตัวแทนการปรับใช้เว็บ"

กด Win + R แล้วพิมพ์ services.msc

คลิกขวาที่บริการตัวแทนการปรับใช้เว็บและเลือก "หยุด"

รีสตาร์ท XAMPP

นอกจากนี้หลังจากดับเบิลคลิก "Web Deployment Agent Service" คุณสามารถทำให้ประเภทการเริ่มต้นเป็นด้วยตนเองดังนั้น "บริการตัวแทนการปรับใช้เว็บ" จะไม่เริ่มต้นโดยอัตโนมัติ


1
อาจมีปัญหาใด ๆ โดยการปิดใช้งานบริการนั้นหรือไม่
มูฮัมหมัด Muazzam

6
  1. เปิดตัวจัดการงาน (Ctrl + Alt + Delete)
  2. ไปที่แท็บ "รายละเอียด"
  3. เรียงตามหมายเลข PID
  4. กระบวนการสิ้นสุดที่ใช้หมายเลข PID ที่ระบุในข้อผิดพลาด
  5. รีสตาร์ท XAMPP

2
ในกรณีของฉันมันเป็นระบบที่ใช้ PID4 ดังนั้นสิ่งนี้อาจเป็นอันตรายได้
Fusion

ทำงานได้ดีสำหรับฉันเนื่องจากเซิร์ฟเวอร์อื่นของฉันใช้พอร์ต และพิจารณาความคิดเห็นของ @ Fusion ด้วย
Varshaan

6

เนื่องจากมีความคิดเห็นโดย @johnkarka สำหรับคำถามพอร์ตนี้จะถูกใช้โดยบริการรายงานของ SQL Server เช่นกัน หลังจากหยุดสิ่งนี้ Apache ก็เริ่มต้นได้ดี

  1. ไปที่ "ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL"
  2. คลิกที่ "บริการรายงานของ SQL Server" และหยุด

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งที่ตลกคือ IIS ทำงานได้ดีในการกำหนดค่าเดียวกัน แต่ไม่ใช่ Apache ต้องหยุดบริการการรายงานของ SQL เพื่อให้ทำงานบนพอร์ตเริ่มต้น (80)


4

สิ่งที่ใช้ได้ผลสำหรับฉันคือการหยุดบริการข้อมูลทางอินเทอร์เน็ต (IIS) หากคุณใช้ Windows 7 ให้คลิกที่ปุ่ม Start ของคุณและในช่องค้นหาของคุณพิมพ์ "iis" คลิกที่ "Internet Information Services (IIS) Manager" เมื่อหน้าต่างปรากฏขึ้นและสมมติว่าคุณไม่มีไอคอนใดที่เลือกไว้คุณควรจะสามารถคลิกหยุดที่บานหน้าต่างการกระทำที่ถูกต้องได้ XAMPP Apache ของฉันเริ่มต้นขึ้นแล้ว หวังว่าทุกอย่างจะได้ผลสำหรับคุณ


3

ใน windows 10 เพื่อเพิ่มพอร์ต 80:

ในกรณีของฉันฉันเปิด "บริการ" จาก "ค้นหา Windows" (ที่มุมซ้ายบนหน้าจอ) จากนั้นหยุดบริการเซิร์ฟเวอร์ SQL ทั้งหมด MSSQLSERVER และทำงานอีกครั้ง


3

ฉันมีปัญหานี้เช่นกันและการหยุดบริการโดยใช้พอร์ต 80 ก็ไม่ได้ช่วยอะไร ฉันแก้ไขได้โดยทำตามขั้นตอนนี้ (พบในกระดานภาษาฝรั่งเศส ):

  1. เปิดใช้ RegEdit
  2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP
  3. เปลี่ยนค่าของ "start" เป็น 4 (ปิดใช้งาน)
  4. รีบูทคอมพิวเตอร์ของคุณ

ไม่แน่ใจว่าสิ่งนี้มีผลกับบริการอื่น ๆ อย่างไร แต่ก็แก้ไขปัญหาได้อย่างถาวรและจนถึงตอนนี้ฉันไม่เห็นปัญหาใด ๆ

ใช้ Windows 10


2

หากคุณมีบริการรายงานของ SQLServer ทำงานอยู่ในเครื่องคุณต้องหยุดทำงาน


2

ฉันมีปัญหาเดียวกัน แต่ในกรณีของฉัน Apache กำลังทำงานอยู่และด้วยเหตุผลบางอย่างเครื่องมือกำหนดค่า XAMPP ไม่ได้แสดงว่า มันเกิดขึ้นหลังจากที่ฉันเริ่ม XAMPP เป็นครั้งแรกหลังจากการติดตั้ง หลังจากการขัดจังหวะอินสแตนซ์ Apache อื่น ๆ ทั้งหมดก็ใช้ได้และพอร์ต 80 และ 443 นั้นฟรีอีกครั้ง

ดังนั้นก่อนที่จะทำการเปลี่ยนแปลงระบบของคุณตรวจสอบให้แน่ใจว่ามีบางสิ่งที่ชัดเจนอย่างที่กล่าวไว้ข้างต้นไม่ได้เกิดขึ้น


2

"บริการรายงานของ SQL Server" เป็นสาเหตุของปัญหาในระบบของฉันหลังจากหยุดทำงาน Apache เริ่มทำงานได้ดี


2

ฉันมีปัญหาเดียวกันฉันแก้ไขปัญหาปิดการใช้งานเพียงแค่

"บริการสาขา BranchCache"ในบริการต่างๆ

อย่างใดหน้าต่างปรับปรุงบริการนี้จะถูกเรียกใช้ในการเริ่มต้นและใช้ 80 พอร์ต เมื่อคุณตรวจสอบผ่าน netstat คุณจะเห็นว่ามีการใช้ระบบนี้ แต่ไม่เข้าใจว่าใช้บริการใด


1
การปิดใช้งานบริการนี้หลังจากการอัปเดต windows 10 ทุกครั้งจะช่วยแก้ไขปัญหาได้
Matt

2

หลังจากเปลี่ยนพอร์ตหลัก 80 เป็น 8080 คุณต้องอัปเดตพอร์ตในแผงควบคุม: ป้อนคำอธิบายรูปภาพที่นี่ จากนั้นคลิกที่นี่: ป้อนคำอธิบายรูปภาพที่นี่ และที่นี่: ป้อนคำอธิบายรูปภาพที่นี่ จากนั้นบันทึกและรีสตาร์ท


1

คลิกบริการบนแผงควบคุม Xampp (ชื่อไฟล์คือ services.msc ข้อมูลเพิ่มเติม)

ก่อนอื่นให้มองหา IIS หากใช้งานอยู่ หยุดมัน (หยุดตัวเลือกบริการนี้ทางด้านซ้ายหลังจากคลิกที่ชื่อบริการ) จากนั้นนี่คือปัญหาหลักค้นหาบริการการปรับใช้เว็บ (ไม่ใช่ชื่อที่แน่นอนแม้ว่าจะมีการปรับใช้เว็บที่จุดเริ่มต้น) หยุดบริการนี้ด้วย ลองอีกครั้งและ Apache จะใช้งานได้

หากคุณใช้งาน Skype ให้ออกจากระบบด้วยเช่นกันเรียกใช้ Apache จากนั้นเปิดใช้งาน Skype


โดยปกติแล้ว Skype จะเพิ่มพอร์ต 80 แต่ฉลาดกว่า XAMPP และจะใช้พอร์ตที่ต่างออกไปเมื่อรู้ว่า 80 เป็นของ Apache Server
ytpillai

1

ฉันมีปัญหาเดียวกันเมื่อฉันติดตั้ง MS WebMatrix เซิร์ฟเวอร์ IIS ถูกบล็อกพอร์ต 80 ที่ XAMPP ทำงานอยู่ ฉันพยายามค้นหา World Wide Web Publishing Service และหยุด แต่ไม่พบในรายการ วิธีที่ดีที่สุดคือการเปลี่ยนพอร์ต

โปรดอ้างอิงด้วยการ
อ้างอิงลิงค์นี้


1

สำหรับผู้ที่มี ASP.NET, C # หรือมีผู้ใช้ SQL Server หากคุณใช้ SQlServer หรือ Visual Studio พอร์ตของคุณอาจพบ สิ่งที่ง่ายที่สุดที่คุณอาจต้องการทำคือใช้คำสั่ง> servies.msc แล้วค้นหา SQl Server Reporting Service จากนั้นหยุด


0

ถ้าบริการเป็น http.sys

คุณต้องเปลี่ยนที่อยู่ IP ที่เชื่อมโยงสำหรับ http.sys

netsh http เพิ่ม iplisten ipaddress = ::

ทำงานได้ดีโดยไม่ต้องรีสตาร์ทระบบปฏิบัติการ


0

บริการตัวแทนการปรับใช้เว็บถูกปรับใช้กับ WebMatrix และเป็นสาเหตุของความทุกข์ของฉัน มันอาจถูกแจกจ่ายกับแอพพลิเคชั่นอื่น ๆ ที่ติดตั้งโดยใช้Web Platform Installer ของ Microsoft

ถอนการติดตั้งมันแก้ปัญหาของฉันได้!


ไม่เพียงแค่เปลี่ยนพอร์ตที่เซิร์ฟเวอร์รับฟัง
rango

0

สำหรับฉันมักจะใช้งานได้: - ปิด Skype - ปิดกระบวนการ SQL Server ทั้งหมดที่แสดงใน services.msc - ปิด World Wide Web Publishing ใน services.msc


0

โดยปกติแล้วจะทำงานหลังจากที่คุณหยุด IIS Server และ Skype


0

XAMPP - พอร์ต 80 ที่ใช้โดย“ ไม่สามารถเปิดโปรเซส” ด้วย PID 4! 12

เรียกใช้ข้อคิดเห็นใน cmd tasklist

และค้นหา PID และชื่อกระบวนการที่เกี่ยวข้องกับตัวจัดการงานหน้าต่างที่เปิดอยู่ในตอนนี้

คุณยังสามารถเปิดตัวจัดการงานหน้าต่างโดยใช้ CTRL + ALT + DEL

ตอนนี้คลิกที่แท็บกระบวนการและค้นหาชื่อที่ใช้ PID และคลิกขวาที่กระบวนการและสิ้นสุด

ตอนนี้เริ่มต้น xampp อีกครั้ง


0

ฉันมีปัญหาเดียวกัน หลังจาก googling มาถึงหน้านี้ เนื่องจากฉันเดาข้อผิดพลาดนี้อาจมีสาเหตุหลายประการดังนั้นให้ฟังประสบการณ์ของฉัน:

บันทึกบรรทัด Xampp สีแดง:

12:53:54 PM  [Apache] Problem detected!
12:53:54 PM  [Apache]   Port 443 in use by "Unable to open process" with PID 3908!
...

ในที่สุดมันกลับกลายเป็นว่าฉันมีรหัสบรรทัดนี้ในรหัส php ของฉัน:

$res = file_get_contents("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");

จุดประสงค์ของรหัสนี้คือเพื่อรับมิเรอร์ของผลลัพธ์ php จากที่ใดที่หนึ่งในเซิร์ฟเวอร์ของฉัน แต่มันก็ติดอยู่ในวงที่ได้รับเนื้อหาของตัวเอง!

ฉันซ่อมรหัส:

$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));

จากนั้นฉันเริ่ม apache ... และข้อผิดพลาด apache นั้นไม่เคยเกิดขึ้นอีก

ดังนั้นในบางครั้งการค้นหาจุดที่อาจเป็นไปได้ในรหัสของคุณจึงเป็นวิธีที่ดี


0

ตามค่าเริ่มต้นใน Ubuntu ระบบจะไม่อนุญาตให้คุณใช้พอร์ตที่มีสิทธิพิเศษ [0 ถึง 1023] นอกเหนือจากการระบุพอร์ตเป็น 80 คุณจะต้องเรียกใช้ XAMP ด้วย sudo


-1

ฉันเขียนสิ่งนี้เพราะฉันไม่พบคำตอบสำหรับคำถามเดียวกัน ในกรณีของฉัน PID คือ 2484

  1. คุณต้องค้นหากระบวนการหรือบริการด้วย PID นี้: เปิด cmd (ใน Windows) และเขียน:

    tasklist
    
  2. ค้นหา PID ของคุณในรายการนี้และอ่านชื่อกระบวนการหรือบริการ

  3. ตอนนี้คุณสามารถฆ่ามันได้ด้วย Task Manager

  4. ค้นหาชื่อนี้ในรายการกระบวนการ

  5. คลิกสิ้นสุดกระบวนการ

นั่นคือกรณีของฉัน อาจเป็นไปได้ว่าคุณจะต้องเปิด services.msc และหยุดบริการด้วย PID ของคุณ

ในคอมพิวเตอร์ของฉัน xampp มันทำงานได้ดี :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.