2013-12-18 61 views
1

我想用curl做一些操作,但是我必須使用的網站使用Kerberos身份驗證。因此,我必須啓用默認禁用的捲曲SPNEGO功能。PHP-How to curl with Kerberos

這是我的phpinfo提取物:

cURL support enabled 
cURL Information 7.19.7 
Age 3 
Features 
AsynchDNS No 
Debug No 
GSS-Negotiate Yes 
IDN Yes 
IPv6 Yes 
Largefile Yes 
NTLM Yes 
SPNEGO No 
SSL Yes 
SSPI No 
krb4 No 
libz Yes 
CharConv No 
Protocols tftp, ftp, telnet, dict, ldap, ldaps, http, file, https, ftps, scp, sftp 
Host x86_64-redhat-linux-gnu 
SSL Version NSS/3.13.1.0 
ZLib Version 1.2.3 
libSSH Version libssh2/1.2.2 

我怎樣才能做到這一點?

回答

0

首先獲取curl的新版本,檢查您的Kerberos版本。所有最新版本本身支持SPNEGO,即一個小補丁和捲曲將與SPNEGO無需其他軟件一起愉快地工作。

使事情的工作:

  1. 下載並編譯捲曲的libcurl
  2. 安裝它,例如在/ usr /本地
  3. 嘗試直接捲曲第一
  4. 下載PHP的最新版本,並用--with捲曲[= DIR]編譯它,看到12
  5. 安裝它
  6. 享受

這裏AA幾個注意事項:

所有的
  1. 首先,捲曲需要,如先前已描述的修補。
  2. 不幸的是,PHP靜態鏈接到curl(libcurl.a,見[2]),這意味着你不能切換到一個新的curl版本,除非用新的PHP重新編譯。也許這只是一個人爲限制。
+0

好吧,拿捲曲的新版本是一個很好的方式,但我怎麼可以使用它在PHP?謝謝 – user2540463

+0

@ user2540463,請參閱我的編輯。 –

0

補丁micheal正在談論一些編碼(改變捲曲源代碼)。如果您不希望這樣做,請使用fbopenssl庫並鏈接curl。這

SPNEGO後是

將在幫助版本的標誌。

請注意,您的捲曲版本將不支持密鑰標籤,用戶名密碼驗證或憑證緩存模式。如果你想使用我的捲曲的叉子(這個dosent有邁克爾的補丁雖然): -

github.com/Khalian/CURL