使用 Zomato API,我编写了一个简单的 PHP 代码来获取搜索查询比萨饼的 JSON 数据。但是由于某种原因,当我将它推送到 Google App Engine 时它不起作用。
我尝试使用 xampp 在我的本地主机中运行 PHP 代码,它可以工作。但是当我在谷歌云中运行代码时,它会显示一个没有错误消息的空白页面。
这是我试图在 Google App Engine 上运行的 PHP 代码
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://developers.zomato.com/api/v2.1/search?q=pizza&start=0&count=10");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$headers = array(
"Accept: application/json",
"User-Key: f0baf53bd8c31d3c625e9d9c0d379379"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
echo "<pre>";
print_r($result);
echo "</pre>";
?>
我为将代码推送到谷歌云平台而编写的 app.yaml
runtime: php55
api_version: 1
handlers:
- url: /
script: index.php
我目前很迷茫,希望有人能给我一些关于这个问题的见解
编辑:感谢 JohnHanley 在下面的评论,我发现我的 Google App Engine 控制台显示以下错误消息:“PHP 致命错误:调用 /base/data/home/apps/f~cloud-assignment-2 中的未定义函数 curl_init() -254823/20191005t035406.421500489485193”。
我显然已经用谷歌搜索了错误消息,发现显然默认情况下谷歌 App Engine 无法识别 curl_init() 函数,显然我需要通过添加 php.ini 文件并在 php.ini 中编写几行代码来启用它在将其推送到云端之前提交文件。抱歉,我对此很陌生,有人可以告诉我怎么做吗?