2012-01-10 118 views
0

我將我的IIS 7.5 Web服務器從PHP 5.2.17升級到PHP 5.3.8。 \程序文件(x86)\ PHP \ V5.3 \ PHP-cgi.exe文件: - 內部服務器錯誤
ÇPHP 5.3.8 Wordpress CURL間歇性錯誤

HTTP錯誤500.0: 這樣做,我安裝WordPress開始間歇地製造500錯誤後 - FastCGI進程意外

詳細錯誤信息

模塊FastCGIModule
0123退出通知ExecuteRequestHandler
處理器PHP53_via_FastCGI
錯誤代碼0x000000ff

我也是這個服務器上運行Drupal和Zend框架,它們都使用捲曲,但這些並沒有產生錯誤。因此,我認爲這是針對CURL的Wordpress實現的特定情況。

我看着在Windows應用程序錯誤日誌,發現以下錯誤:

錯誤的應用程序名稱:PHP-cgi.exe文件,版本:5.3.8.0,時間戳:0x4e537f4b
錯誤模塊名稱: php_curl.dll,存放版本:5.3.8.0,時間戳:0x4e537f64
異常代碼:0000005
故障偏移:0x00036864
出錯進程ID:的0x378
錯誤應用程序啓動時間:0x01cccf17892cff0e
錯誤的應用程序路徑:C:\ Program Files(x86)\ PHP \ v5.3 \ php-cgi.exe
錯誤模塊路徑:C:\ Program Files(x86)\ PHP \ v5.3 \ ext \ php_curl。 dll的
報告編號:ec31f1ab-3b0a-11e1-9d5f-005056b30014

+0

您應該發佈第二位作爲答案。 – stealthyninja 2012-01-10 06:52:43

+1

因爲我是Stack Overflow的新手,所以我不能7個小時。現在完成。 ;) – Akaoni 2012-01-10 22:53:37

回答

1

我也遇到同樣的問題。我的配置如下。

Windows 7的
的WordPress 3.9.1(土耳其)
的Apache 2.4.9 86 VC11 (視窗休息室二進制文件)
PHP 5.5。14 ts x86 VC11

我正在使用代理服務器。而且,我的代理需要認證。我發現文件wp-includes/class-http.php中的某個請求方法存在問題。

我通過更換下面行解決問題(行號爲1247)


    if ($proxy->is_enabled() && $proxy->send_through_proxy($url)) { 

     curl_setopt($handle, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); 
     curl_setopt($handle, CURLOPT_PROXY, $proxy->host()); 
     curl_setopt($handle, CURLOPT_PROXYPORT, $proxy->port()); 

     if ($proxy->use_authentication()) { 
      curl_setopt($handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY); 
      curl_setopt($handle, CURLOPT_PROXYUSERPWD, $proxy->authentication()); 
     } 

    } 

與下面給出的線條。


    if ($proxy->is_enabled() && $proxy->send_through_proxy($url)) { 

     $isPHP5 = version_compare(PHP_VERSION, '5.0.0', '>='); 

     if ($isPHP5) { 
      curl_setopt($handle, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); 
      curl_setopt($handle, CURLOPT_PROXY, $proxy->host()); 
      curl_setopt($handle, CURLOPT_PROXYPORT, $proxy->port()); 
     } else { 
      curl_setopt($handle, CURLOPT_PROXY, $proxy->host() . ':' . $proxy->port()); 
     } 

     if ($proxy->use_authentication()) { 
      if ($isPHP5) 
       curl_setopt($handle, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); 

      curl_setopt($handle, CURLOPT_PROXYUSERPWD, $proxy->authentication()); 
     } 

    }