2013-09-25 80 views
2

我創建一個進程,將我登錄到我的帳戶#########。com。當我把它放在我的FTP上時,它就像一個魅力。cURL請求在服務器上正常工作,但不會在我的本地主機上工作:8080

這就是問題

我有一個Apache本地服務器我的機器(的EasyPHP)在本地主機上設置:8080。 我也有一臺IIS服務器設置在我的機器上的端口 - > localhost:80。

我的cURL請求不起作用。這是我的代碼:

$lien = 'https://#########.com/login'; 
$postfields = array( 
    'username' => 'xxx', 
    'password' => 'xxx' 
); 


$path_cookie = 'connexion.txt'; 
if (!file_exists(realpath($path_cookie))) touch($path_cookie); 

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_URL, $lien); 
curl_setopt($curl, CURLOPT_COOKIESESSION, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields); 
curl_setopt($curl, CURLOPT_COOKIEJAR, realpath($path_cookie)); 

$return = curl_exec($curl); 
echo($return); 
echo 'error:' . curl_error($curl); 
curl_close($curl); 
} 

首先:是的,我有捲曲安裝在我的服務器上,我做了我的Apache服務器和我的IIS服務器和一切之間的一些其他捲曲要求做工精細。

其次:文件「connexion.txt」很好地創建,但是空的。

三:的($返程)響應無回聲,我的服務器上的響應是「對象搬到這裏。」

第四:是的,我看這個話題,但沒「T幫了我很多..

cURL not working

最後:當我嘗試調試卷曲請求的錯誤是:

error:SSL certificate problem: unable to get local issuer certificate

誰能幫助我嗎?我會留在這裏回答評論/測試/調試/回答等。

謝謝!

+2

SSL使用自簽名的證書,很可能或沒有提供捲曲與相關的CA的東西,所以它可以驗證證書。 –

回答

4

你最有可能不使用的證書都這樣無論是使用HTTP或嘗試使用

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

+0

非常感謝sebotro,它就像一個魅力! :) – Peter

2

這不是一個很好的做法,將「CURLOPT_SSL_VERIFYHOST」假的。

我推薦你下載CA根證書捆綁,並告訴PHP在哪裏可以找到它。

  1. 你可以找到它download here
  2. 下載.pem並將其保存到您的PHP安裝可以訪問 的地方。
  3. 添加到你的php.ini文件位置:curl.cainfo="C:\Xamp\php\cacert.pem"
  4. 重新啓動服務器]

工作完成後,安全。


字體:您正在使用https://snippets.webaware.com.au/howto/stop-turning-off-curlopt_ssl_verifypeer-and-fix-your-php-config/

+1

最後一個很好的解決方案,而不禁用驗證。謝謝! – enenen

相關問題