Ich versuche, einige JSON-Daten mit cURL POST, aber ich habe ein Problem beim Setzen der Header.POST JSON-Daten mit cURL in PHP 5
Mein aktueller Code sieht so aus:
$ch = curl_init('https://secure.example.com');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
]);
if (!$result = curl_exec($ch))
{
echo 'Failed: ' . curl_error($ch);
curl_close($ch);
die;
}
curl_close($ch);
Dieser Code funktioniert gut bei der Verwendung von localhost zu testen (PHP 7). Auf unserem Webserver wird jedoch nur PHP 5 ausgeführt. Daher wird die Option CURLOPT_HTTPHEADER
nicht unterstützt.
Wenn ich es in meinem Code behalte, bekomme ich einen "500 Interner Fehler". Wenn ich es herausnehmen, meine curl_exec()
nicht ausgeführt wird, und ich die Fehlermeldung "fehlgeschlagen:" aber ohne curl_error()
angezeigt wird.
Gibt es eine Möglichkeit, cURL JSON-Daten ohne diese Option zu erwarten?
Welche cURL-Version haben Sie auf dem Webserver? – apokryfos
Wenn Sie eine 500 erhalten, gehen Sie in das Fehlerprotokoll des Servers für Details. –
Tatsächlich wird die Anweisung * 'CURLOPT_HTTPHEADER' Option in PHP 5 nicht unterstützt * ist falsch. – apokryfos