2016-05-10 2 views
2

У меня странная ошибка, в которой мой скрипт cURL в PHP 7 не работает, и не дает ошибки. Мой код:cURL JSON пост не работает и не показывает ошибки PHP 7

$content = json_encode(array(
    'I was just testing', 
    'Whether or not this is working', 
     )); 

$collatex_url = 'http://localhost:7369/collate'; 
$collatex_headers = array(
    "Content-type: application/json; charset=UTF-8;", 
    "Content-Length: " . strlen($content), 
    "Accept: application/json" 
); 

$curl = curl_init($collatex_url); 
curl_setopt($curl, CURLOPT_HTTPHEADER, $collatex_headers); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_VERBOSE, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, array('json' => $content)); 
//curl_setopt($curl, CURLOPT_POSTFIELDS, array('json=' . urlencode($content))); //tried, also does not work 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($curl); 
echo curl_error($curl); //does not produce an error 
echo 'THE RESULT IS' . $result; //the result is empty 
curl_close($curl); 
  • мой SELinux установлен в разрешительном
  • моего Curl модуль делает работу, так как Ive был в состоянии POST и GET запросы из других источников
  • Программы на локальном хосте: 7369 работают и работает. При выполнении команды cURL в своем журнале не отображается какой-либо входящий запрос.
  • У меня есть сервер, настроенный с PHP 5, и, как ни странно, он работает там ... просто не в моей локальной среде разработчиков, на которой у меня есть PHP 7, поэтому я не уверен, что PHP 7 вызывает проблему, или что я просто забыл что-то настроить.
  • И мой сервер и моя DEV окружающая среда на CentOS 6.7

Любая помощь будет оценена.

+0

Вы проверили phpinfo? имеет завиток, установленный на вашем сервере? если нет, то вы можете установить sudo apt-get install php5-curl module –

+0

Спасибо, но, как я уже сказал, у меня есть PHP 7, поэтому я сделал yum install php70w-common, если я правильно помню. По умолчанию пакет cURL включен в этот пакет. Ive смог сделать некоторые вещи в работе cURL (простые POST и GET), но почему-то мой скрипт выше не работает. См. Https://webtatic.com/packages/php70/ – Arent

+0

Отключите ваши iptables или любой брандмауэр и повторите попытку. –

ответ

2

попробовать, отправив JSON как это:

curl_setopt($curl, CURLOPT_POSTFIELDS, $content); 
+0

Работы. Спасибо! – Arent

Смежные вопросы