Похоже, у вас есть ошибки в файле конфигурации PHP.
Чтобы исправить ошибки, вы должны отредактировать файл php.ini
.
Для отображения ошибок в режиме разработки изменитеerror_reporting
значение до E_ALL
.
error_reporting=E_ALL
Затем необходимо включить расширение cURL.Чтобы включить его в php.ini, вам необходимо раскомментировать следующую строку:
extension=php_curl.dll
После того, как вы отредактировали эти значения, не забудьте перезапустить ваш веб-сервер (Apache или Nginx)
Также я согласен с моими коллегами, вы должны url_encode
свою строку JSON.
С моей точки зрения код должен быть:
<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);
$apiKey = '*apikey*';
$filters = '{"category":"Automotive","$loc":{"$within":{"$center":[[41,-74],80467.2]}},"website":{"$blank":false}}';
$params = '?api_key=' . $apiKey . '&filters=' . url_encode($filters);
$url = 'http://api.factual.com/v2/tables/bi0eJZ/read';
$url .= $params;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$output = curl_exec($ch) or die("cURL Error" . curl_error($ch));
curl_close($ch);
echo "out: " . $output;
РЕДАКТИРОВАТЬ:
Другим подходом может быть использование Официального драйвера PHP для Factual API: Официальный драйвер PHP для Factual API
Он обеспечивает Режим отладки с выводом отладки cURL и выводом отладки Exception .