[英]Warning: http_build_query(): Parameter 1 expected to be Array or Object (But it works)
[英]Warning: http_build_query(): Parameter 1 expected to be Array or Object whm api
我的編碼 whm 插件有警告
警告:http_build_query():參數 1 應為數組或對象。 第 50 行 /module_functions.php 中給出的值不正確
第 150 行是: $query .= '?' . http_build_query($params);
$query .= '?' . http_build_query($params);
全線:
public function whmaapicall()
{
$whmusername = $_ENV['REMOTE_USER'];
$whmpassword = $_ENV['REMOTE_PASSWORD'];
$query = 'https://127.0.0.1:2087/json-api/listpkgs?api.version=1';
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$header[0] = 'Authorization: Basic ' . base64_encode($whmusername . ':' . $whmpassword) . "\n\r";
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_URL, $query);
$result = curl_exec($curl);
if (!$result) {
error_log('curl_exec threw error "' . curl_error($curl) . '" for ' . $query);
}
curl_close($curl);
return json_decode($result);
}
public function whmapi($function = NULL, $params = NULL)
{
$whmusername = 'root';
if ($function == 'listpkgs') {
$whmusername = $_ENV['REMOTE_USER'];
return $this->whmapi2();
}
$whmhash = $this->gethash();
$query = 'https://127.0.0.1:2087/json-api/' . $function;
$query .= '?' . http_build_query($params); //line mentioned
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$header[0] = 'Authorization: WHM ' . $whmusername . ':' . preg_replace('\'(' . "\r" . '|' . "\n" . ')\'', '', $whmhash);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_URL, $query);
$result = curl_exec($curl);
curl_close($curl);
return json_decode($result);
}
在 whmapi 函數中,$params 的默認值是 NULL,而 NULL 不是 http_build_query 的合法參數,您直接將 $params 傳遞給 http_build_query,而無需先檢查它是否為空。 停止給 http_build_query NULL,做類似的事情
$query .= '?';
if($params!==NULL){
$query.=http_build_query($params);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.