Apache服务器返回empty-curl-php for php
下午好。我面临一个非常具体的问题。事实证明,我有一个应用程序运行在云中的服务器(hostigator-php)上,它通过客户机上托管的服务器上的curl进行调用。(apache-php)。通过IP或DDN进行访问。 当我在浏览器中正确调用(get)时,它通常返回json,但当我在云中调用服务器(hostigator)时,它返回一个空字符串 服务器上没有具有以下标头的php 标题(“内容类型:application/json”) 调用方法Apache服务器返回empty-curl-php for php,php,apache,curl,Php,Apache,Curl,下午好。我面临一个非常具体的问题。事实证明,我有一个应用程序运行在云中的服务器(hostigator-php)上,它通过客户机上托管的服务器上的curl进行调用。(apache-php)。通过IP或DDN进行访问。 当我在浏览器中正确调用(get)时,它通常返回json,但当我在云中调用服务器(hostigator)时,它返回一个空字符串 服务器上没有具有以下标头的php 标题(“内容类型:application/json”) 调用方法 $app->get('/getCidades/:id
$app->get('/getCidades/:id', function ($id) use ($app, $db) {
$data = json_decode($app->request()->getBody());
$ch = curl_init();
$url = $_SESSION['ip'] . $GLOBALS['servico'] . "getCidades/" . $id;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,10); //timeout in seconds
curl_setopt($ch,CURLOPT_TIMEOUT, 20); // same for here. Timeout in seconds.
$response = curl_exec($ch);
curl_close ($ch); //close curl handle
echo $response;
}
);
客户端中的服务器
标题(“内容类型:application/json”);
标题(“内容类型:text/html;字符集=utf-8”)
$app->get(
“/getCidades/:id”,
函数($id)使用($app){
$conexao=ibase_connect($GLOBALS['hostname'],$GLOBALS['usuario'],
$GLOBALS['senha'])或die('Erro ao conectar:'.ibase_errmsg());
$Ds_Query=“从PESSOAS where中选择不同的PESSOAS.cidade2、PESSOAS.uf2
cidade2“”和uf2不是cidade2的空顺序”;
$Ds\u returno=ibase\u query($Ds\u query);
$results=array();
而($Ds_Linha_Banco=ibase_fetch_row($Ds_returno))
{
$row=新的Cidade();
$row->cidade=clean($Ds_Linha_Banco[0]);
$row->uf=$Ds_Linha_Banco[1];
$results[]=$row;
}
ibase_close($conexao);
echo json_编码(数组(“列表”=>$results));
}
);
可能您缺少参数CURLOPT\u POST
。使用web浏览器打开url时,将使用GET方法处理请求,但在这种情况下,未定义HTTP谓词。尝试添加此内容并发回给我们:)标题中有错误
$app->get(
'/getCidades/:id',
function ($id) use ($app) {
$conexao = ibase_connect( $GLOBALS['hostname'], $GLOBALS['usuario'],
$GLOBALS['senha'] ) or die( 'Erro ao conectar: ' . ibase_errmsg() );
$Ds_Query = "select DISTINCT PESSOAS.cidade2, PESSOAS.uf2 from PESSOAS where
cidade2 <> '' and uf2 is not null order by cidade2";
$Ds_Retorno = ibase_query( $Ds_Query );
$results = array();
while ( $Ds_Linha_Banco = ibase_fetch_row( $Ds_Retorno ) )
{
$row = new Cidade();
$row->cidade = clean($Ds_Linha_Banco[0]);
$row->uf = $Ds_Linha_Banco[1];
$results[] = $row;
}
ibase_close($conexao);
echo json_encode(array("list"=>$results));
}
);