【发布时间】:2015-11-18 20:19:45
【问题描述】:
在本地 AppEngine 上,curl 请求会给出以下结果,这是我所期望的。
[url] => https://spreadsheets.google.com/feeds/spreadsheets/private/full
[content_type] => application/atom+xml; charset=UTF-8
[http_code] => 200
[header_size] => 1243
[request_size] => 231
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 1.05885
[namelookup_time] => 0.520259
[connect_time] => 0.529659
[pretransfer_time] => 0.611242
[size_upload] => 0
[size_download] => 7786
[speed_download] => 7353
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 1.021271
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => 212.51.211.41
[certinfo] => Array
(
)
[primary_port] => 443
[local_ip] => 192.168.0.1
[local_port] => 59361
)
但是当推送到 AppEngine 时,会返回以下内容:
[url] => https://spreadsheets.google.com/feeds/spreadsheets/private/full
[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 0.056215
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[redirect_url] =>
[primary_ip] =>
[certinfo] => Array
(
)
[primary_port] => 0
[local_ip] =>
[local_port] => 0
关于为什么这不适用于生产中的 AppEngine 的任何想法?我怀疑它与 SSL 证书有关。
我设置了以下参数:
PHP.ini。 - 扩展 =“curl.so” CURLOPT_SSL_VERIFYPEER 设置为 false。
$requestSslContext["cafile"] = 目录名(FILE) 。 '/cacerts.pem';在 IO/Stream.php 中被注释掉了。
【问题讨论】:
-
cloud.google.com/appengine/docs/php/config/php_ini google_app_engine.enable_curl_lite = "1" 可能有帮助 - 你这样做了吗?
-
看起来不像是 SSL 问题,因为我认为它并没有那么严重。
var_dump(curl_error($ch));显示什么? -
@dre010 - 它返回 0 (!)
-
@PaulCollingwood extension = "curl.so" 适用于本地开发环境, google_app_engine.enable_curl_lite = "1" 适用于生产环境。
-
我看到你已经解决了,但是 cURL 有一个非常古老的 API。您应该遵循 urlfetch 的文档并使用它,除非您绝对需要 cURL cloud.google.com/appengine/docs/php/urlfetch
标签: php google-app-engine curl