3

I have a strange error in which my cURL script in PHP 7 does not seem to work, and does not give an error. My code:

$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);
  • my Selinux is set to permissive
  • my cURL module does work, as Ive been able to POST and GET queries from other sources
  • The program on localhost:7369 is running and working. It does not show any incomming request in its log when executing the cURL command.
  • I have a server set up with PHP 5, and strangely it does work there..just not on my local dev environment on which I have PHP 7, so Im not sure if PHP 7 is causing the problem, or that I just forgot to configure something.
  • Both my server and my dev environment are on CentOS 6.7

Any help would be appreciated.

Arent
  • 145
  • 1
  • 12
  • Have you checked phpinfo ? has curl installed in your server ? if not then you can install by sudo apt-get install php5-curl module – Mukesh Ram May 10 '16 at 15:09
  • Thanks, but like I said, I have PHP 7, so I did yum install php70w-common if I remember correctly. The cURL package is included in that package by default. Ive been able to make some things in cURL work (simple POST and GET), but somehow my script above does not work. See https://webtatic.com/packages/php70/ – Arent May 10 '16 at 18:12
  • Disable your iptables or any firewall and try again. – Felippe Duarte May 10 '16 at 18:20
  • try and connect to your service from your dev env with telnet localhost 7369 and make sure you're able to connect – Tudor Constantin May 10 '16 at 18:29
  • If telnet is working, you can check [debug curl output](http://stackoverflow.com/a/14436877/6209665) as next step. It may be helpful. – Andrew May 10 '16 at 18:35

1 Answers1

2

try by sending the json like this:

curl_setopt($curl, CURLOPT_POSTFIELDS, $content); 
Tudor Constantin
  • 26,330
  • 7
  • 49
  • 72