Я вручную запустил URL-адрес от почтальона, и я успешно подключился, и он напечатал результаты.
Но когда я попытался вызвать его из метода, результат не печатается.
вот код curl, который я использовал:
public function curlHandle($apiPath, $postArray)
{
$CI = & get_instance();
$conf = $CI->config->config;
$curlHandle = curl_init($apiPath);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandle, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36");
curl_setopt($curlHandle, CURLOPT_TIMEOUT , 300);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $postArray);
curl_setopt($curlHandle, CURLOPT_VERBOSE, 1);
$fp = fopen('/var/www/html/logs/curl_log.txt', 'w');
curl_setopt($curlHandle, CURLOPT_STDERR, $fp);
$result = curl_exec($curlHandle);
print_r(curl_error($curlHandle));
if ($result === FALSE) {
die(curl_error($curlHandle));
} else {
$data = json_decode($result, TRUE);
}
curl_close($curlHandle);
return $data;
}
Вот содержимое curl_log.txt
- Имя хоста localhost / codeignitertest было найдено в кэше DNS
- Попытка 127.0.0.1 ...
- TCP_NODELAY set
- Подключено к alocalhost / codeignitertest (127.0.0.1) порт 80 (# 0)
POST / test / processHTTP / 1.1 Хост: localhost / codeignitertest Пользователь-агент: Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 29.0.1547.57 Safari / 537.36 Примите: / Content-Length: 142 Content-Type: multipart / form-data;border = ------------------------ 78a116d61ad4939d
также обратите внимание, что curlHandle () из другого проекта и localhost / codeignitertest, но оба работают на моем локальном хосте