ข้อผิดพลาด 500 ในการติดตั้ง IIS และ PHP ใหม่


32

เมื่อพยายามเรียกใช้ไฟล์ PHP บนเซิร์ฟเวอร์ Windows 2012 และ IIS ฉันได้รับข้อผิดพลาด 500 ครั้ง ฉันไม่พบบันทึกหรือรายละเอียดใด ๆ อย่างไรก็ตามเมื่อไปที่ PHP Manager สำหรับ IIS และคลิกตรวจสอบการตั้งค่าฉันได้รับข้อผิดพลาดต่อไปนี้:

Detailed Error Information:
Module    FastCgiModule 
Notification    ExecuteRequestHandler 
Handler    PHP55_via_FastCGI 
Error Code    0xc0000135 
Requested URL    http://domain.com:80/brkld3ip.php 
Physical Path    drive:\sites\domain.com\brkld3ip.php 
Logon Method    Anonymous 
Logon User    Anonymous 

ฉันติดตั้ง PHP โดยใช้ Microsoft Web Platform Installer 5.0 บนการติดตั้ง Windows Server ใหม่

ฉันยังใหม่กับ IIS ที่มาจาก Linux ดังนั้นฉันจึงไม่ "เรียนรู้" เพียงพอใน IIS ที่จะรู้ว่าเกิดอะไรขึ้น ฉันได้ลองอัปเดตการอัปเดต C ++ แบบแจกจ่ายต่อได้ในปี 2012 เป็นเว็บไซต์แนะนำแล้ว ใครมีความคิดเห็นอื่น ๆ บ้าง

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

แก้ไข: คำถาม: Windows จะต้องมีการรีบูตเพื่อให้การเปลี่ยนแปลง PHP มีผลหรือไม่


PHP รุ่นไหน
Kev

เมื่อฉันติดตั้ง php 5.5 พร้อมกับตัวติดตั้ง Microsoft มันก็ติดตั้ง 5.3
alexander7567

คำตอบ:


53

มีโอกาสค่อนข้างดีที่คุณจะพลาด VC ++ runtime ที่ถูกต้องสำหรับ PHP เวอร์ชันที่คุณใช้งานอยู่

หากคุณใช้ PHP 5.5.x คุณต้องตรวจสอบให้แน่ใจว่าติดตั้งรันไทม์ VC ++ 11 แล้ว:

http://www.microsoft.com/en-us/download/details.aspx?id=30679

ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดและติดตั้งรุ่น x86 ( vcredist_x86.exe), PHP บน Windows ยังไม่ได้ 64 บิต

หากคุณใช้ PHP 5.4.x คุณต้องติดตั้งรันไทม์ VC ++ 9:

http://www.microsoft.com/en-us/download/details.aspx?id=5582


1
คุณถูกต้อง ฉันทำ x64 แล้วเพราะเป็นเครื่อง 64 บิต ติดตั้ง x86 และทันที (ไม่ต้องบูตระบบใหม่) มันเริ่มทำงานได้ ขอบคุณ! ฉันหยุดสมองเป็นเวลาหลายชั่วโมง!
alexander7567

ยอดเยี่ยม! แก้ไขทันทีสำหรับฉันเช่นกัน +1
Appleby จะ

2
ขอบคุณ! อินสแตนซ์ PHP 5.6 ต้องใช้เวลารันไทม์ VC ++ 11 (VS 2012)
wchoward

ขอบคุณมาก! เดิมทีพลาดส่วนที่เกี่ยวกับ x86 แต่หลังจากล้มเหลวอย่างน่าสังเวชฉันเห็นสิ่งที่ฉันพลาดและทุกอย่างทำงานได้ดีในขณะนี้
Alexandre Danault

5
สำหรับทุกคนที่มีปัญหานี้กับPHP 5.6คุณต้องx86รุ่นของVisual C ++ Redistributable สำหรับ Visual Studio 2012 อัพเดต 4 (vcredist_x86.exe)ซึ่งสามารถหาได้จากหน้าต่อไปนี้: microsoft.com/en-us/download/details .aspx? id = 30679
derekmx271

6

ฉันถูกจับโดยข้อความที่คล้ายกันและปรากฎว่าฉันไม่ได้ติดตั้ง CGI Server Role (ภายใต้ IIS -> การพัฒนาแอปพลิเคชัน)


ข้อความคล้ายกันมากแค่ไหน?
Deer Hunter

ฉันติดตั้งรันไทม์ VC ++ 11 แต่ฉันยังต้องติดตั้งการสนับสนุน CGI เพื่อให้มันทำงานได้ บน Windows 8.1 และ IIS 8.5 ค้นหาได้ที่Turn windows features on or off > Internet information services > application development features > CGI
jxmallett

4

ฉันมีข้อผิดพลาดเดียวกันสำหรับ PHP 7.0.3 บนเซิร์ฟเวอร์ 2012 R2 ที่มี IIS 8.5

การแก้ปัญหาคือการติดตั้ง: Visual C ++ Redistributable สำหรับ Visual Studio 2015 32 บิต

ทุกอย่างทำงานอย่างถูกต้องหลังจากติดตั้ง


1

ยังคงมีข้อผิดพลาด 500 หลังจากติดตั้ง Visual C ++ Redistributable สำหรับ Visual Studio 2015 32 บิต

เรียกใช้ procmon จาก sysinternals ของ Microsoft และเมื่อพบหน้าเว็บ php ของฉัน

w3wp.exe C:\PHP\php-cgi.exe "ACCESS DENIED"

w3wp.exe เป็นแอพที่ทำงานภายใต้ IIS

การให้สิทธิ์การอ่าน / ดำเนินการแก่ผู้ใช้แอพพูลโดยเฉพาะเพื่อ c: \ php ช่วยแก้ไขปัญหา

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