[英]Webservice on IIS with PHP as FastCGI
我有使用Zend_Soap創建的PHP Web服務。 在apache或帶有PHP模塊作為CGI的IIS 7上,一切正常。 但是,如果我將PHP配置為FastCGI,則對Web服務的每第二個請求都會導致400 BedRequest響應。
我有以下關於wireshark的錯誤消息通信:
POST /JaR/soapTest/Service.php HTTP/1.1
Content-Type: text/xml; charset=utf-8
VsDebuggerCausalityData: uIDPoyo7FNjw0FZJlPkpvI/09dIAAAAA7yLlSSd4sEqSVBHiUG/JW55FahmIOYRAtQ0OUnO49ZoACQAA
SOAPAction: "http://signia.cz/WebClientCEVO/1.0#QueryByBasicInformation"
Host: w7pr-xampp-dev:8000
Content-Length: 971
Expect: 100-continue
HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 17 Feb 2011 14:03:46 GMT
Connection: close
Content-Length: 311
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request</h2>
<hr><p>HTTP Error 400. The request is badly formed.</p>
</BODY></HTML>
后來我在iis中創建了跟蹤,並弄清楚,每個第一個調用都成功,而不是第二個failllowing失敗,這導致php-cgi.exe進程重新啟動。 從IIS跟蹤中,我得到以下信息:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName FastCgiModule
Notification 128
HttpStatus 500
HttpReason Internal Server Error
HttpSubStatus 0
ErrorCode 2147942401
ConfigExceptionInfo
Notification EXECUTE_REQUEST_HANDLER
ErrorCode Nesprávná funkce. (0x80070001)
接下來,我嘗試使用fidler2代理檢查通信本身,但沒有真正的成功。 當我在啟用代理的情況下調用Web服務時,每次調用都會成功。 fidler2還打印出警告,表明我的WS宣布的響應時間長度與實際長度不同(在Apache上,長度很好)。
有誰知道問題可能出在哪里?
檢查您的FastCGI設置。
集合對象名稱= PHP_FCGI_MAX_REQUESTS集合對象值= 10000
希望能奏效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.