2016-04-29 51 views
0

事先提供一些信息:Github webhook PHP腳本返回「Missing HTTP'Content-Type'標題。」

我有1個服務器有2個域名,一個是實時版本(live),另一個是用於測試目的(重新設計)。 我正在使用GitHub webhooks來自動更新我的重新設計服務器與存儲庫,以便有多個人使用repo時,我們不必每次都手動部署它。

現在,我發現了一個PHP腳本(這正是我如何使用它除了祕密)on GitHub在網絡掛接被解析返回一個錯誤說,Content-Type頭部丟失,而當我看在webhook交付它顯然有頭。

Header present.

錯誤提出了自己的PHP腳本檢查,如果HTTP_CONTENT_TYPE存在通過檢查

if (!isset($_SERVER['HTTP_CONTENT_TYPE'])) { 
    throw new \Exception("Missing HTTP 'Content-Type' header."); 
} 

要問一個實際問題33線:怎樣才能PHP如果拋出異常當標題明顯存在?

回答

0

我認爲名稱HTTP_CONTENT_TYPE是錯誤的。它看起來像它已被用來修復bug Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE

通常CONTENT_TYPE財產應當用於下列的RFC 3875

我做了一個簡單的測試,以檢查它是如何工作

  1. 創建我的Web服務器上的index.php文件

    回聲$ _ SERVER [ 'CONTENT_TYPE'] PHP_EOL。

  2. 開業中使用cUrl

    $捲曲-H 「內容類型:應用程序/ JSON」 文件http://localhost

對我來說,outpus是

應用/ JSON

  1. HTTP_CONTENT_TYPE屬性未在我的測試用例中設置。
+0

這確實解決了問題,'HTTP_CONTENT_TYPE'屬性確實沒有設置,它現在通過檢查,謝謝。 – Simplicity