如何在GAE google appengine中删除cURL错误

时间:2016-02-09 12:05:59

标签: php google-app-engine curl

当我在Google appengine gae上传文件时,我在php文件Fatal error: Call to undefined function curl_init()中遇到此错误,然后我收到此错误:

我在PHP中尝试这个cURL

function getpage($url)
{
// fetch data
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 5.0; ASUS_T00J Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko)      Chrome/44.0.2403.133 Mobile Safari/537.36');

$data = curl_exec($curl);
curl_close($curl);
//return preg_replace('~[\r\n]+~', ' ', $data);
return $data;
}

line $curl = curl_init();

上发现错误

如何删除此错误?

1 个答案:

答案 0 :(得分:4)

您需要安装curl。

视窗: 转到您的php.ini文件并删除;从以下行的开头标记:

;extension=php_curl.dll

Ubuntu的: ubuntu 13.0及更高版本,只需使用解压缩的软件包即可。在终端类型中安装以下内容并且不要忘记重新启动服务器。

sudo apt-get install php5-curl

关于GAE:

启用cURL_lite

  1. 将指令google_app_engine.enable_curl_lite = "1"添加到php.ini文件中。
  2. 注意事项

    • cURL_lite仅允许调用HTTP或HTTPS客户端
    • 如果没有将运行时调整到php55,
    • cURL_lite在我的本地开发服务器上不起作用,但它适用于生产中的php
    • cURL_lite不要求应用程序启用结算

    启用cURL

    1. 将app.yaml中的运行时设置从php更改为php55。
    2. 将指令extension =“curl.so”添加到php.ini文件中。
    3. 注意事项

      • cURL仅适用于App Engine的PHP 5.5实施
      • cURL只能由已启用结算的应用程序使用
      • cURL受限于App Engine套接字的限制,但包括:
        • 仅限于定位Google域
        • 可以在2分钟不活动后回收