2012-01-13 36 views
6

Tôi đã định cấu hình openssl với wamp (máy chủ Apache). Nhưng trong khi tôi sử dụng gdata api tôi nhận được lỗi sau.Không thể kết nối với ssl

(!) Fatal error: Uncaught exception 'Zend_Http_Client_Adapter_Exception' with message ' in C:\Zend_1_11_11\library\Zend\Http\Client\Adapter\Socket.php on line 234 
(!) Zend_Http_Client_Adapter_Exception: Unable to Connect to ssl://accounts.google.com:443. Error #10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\Zend_1_11_11\library\Zend\Http\Client\Adapter\Socket.php on line 234 

Ai đó giúp tôi về vấn đề này ...

+1

Lỗi đơn giản nghĩa là bạn không thể kết nối với máy chủ mục tiêu. Ít nhất bạn có thể ping accounts.google.com? Bạn có thể kết nối với cổng 443 bằng lệnh opessl giống như "openssl s_client -connect accounts.google.com:443"? Bạn có thể thử tăng giá trị thuộc tính thời gian chờ – rkosegi

+0

Cảm ơn bạn đã nhập, Nhưng tôi đang làm việc trong máy chủ proxy để tôi có thể 't ping bất cứ điều gì :(Đối với cửa sổ tôi cần phải cài đặt openssl client Xin vui lòng cho tôi biết tôi có thể làm một cái gì đó khác cho workaround .. – Neelesh

+1

Bạn trả lời cho chính mình.Bạn đang đứng sau proxy.đó là lý do tại sao bạn không thể kết nối. – rkosegi

Trả lời

0

Bạn đang ở phía sau proxy, vì vậy bạn không thể kết nối directly.Try sử dụng Zend/Http/Client/Adaptor/Proxy.php thay vì Zend \ Http \ khách hàng \ Adaptor \ Socket.php

+0

Cảm ơn bạn đã giúp đỡ của bạn ..Bạn có thể vui lòng giúp tôi từ nơi tôi có thể thay đổi nó Tôi là newbie trong Zend: ( – Neelesh

+0

Tôi đã thay đổi adapter trong client.php Zend_Http_Client_Adapter_Proxy nhưng nó cũng không hoạt động ... Bất kỳ trợ giúp – Neelesh

13

Kiểm tra các module SSL được kích hoạt trong php.ini:

extension=php_openssl.dll 
+0

Đó là bước đầu tiên của tôi. Bằng cách này tôi đã giải quyết vấn đề. Cảm ơn @Mikhail – Neelesh

+0

@Neelesh vì vậy giải pháp là gì? – Pavlo

+0

@Pavlo chủ đề khá cũ của nó, vì vậy tôi không thể nhớ được giải pháp. :(lấy làm tiếc – Neelesh

0

trả lời từ Mikhail không làm việc cho tôi khi tôi chạy nó trong Alpine Linux và .dll chỉ là phần mở rộng của Windows. Không sử dụng nó bên ngoài Windows, nó chỉ thêm cảnh báo.

Giải Quyết vấn đề của tôi:

Tôi đã có một chứng chỉ tự ký đó là không thể thiết lập kết nối.

Để kiểm tra xem nó là vấn đề của bạn có thể tạo ra một yêu cầu:

cách wget:

// not working: 
wget https://accounts.google.com:443 
// working: 
wget https://accounts.google.com:443 --no-check-certificate 

hoặc cách curl:

// not working: 
curl https://accounts.google.com:443 
// working: 
curl https://accounts.google.com:443 -k 

Để tạm thời giải quyết nó trong thùng chứa Docker dev của tôi , Tôi đã thêm sử dụng bộ điều hợp curl và không kiểm tra giấy chứng nhận cho mã:

$config = array(
     'adapter'  => 'Zend_Http_Client_Adapter_Curl', 
     'curloptions' => [CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false] 
    ); 
    $client = new Zend_Http_Client(url_combine([$this->_url, $call]), $config); 
Các vấn đề liên quan