Grazie a tutti, ancora non capisco, ringrazio darbula per l'interesse. Non capisco perchè $_POST['message'] funziona su Linux.
Provo a postare questi dati sperando che possiate aiutarmi.
Ho caricato il file "ws_test1.php" (file che legge la query, legge il database, e invia il Json) sia su un server Windows che su uno Linux.
ws_test1.php
Codice PHP:
$lettura["COD1"] = "test POST";$lettura["COD2"] = " --2) POST['message'] :".$_POST['message'];$lettura["COD3"] = " --3) INPUT_POST['message'] :".filter_input(INPUT_POST, 'message');$lettura["COD4"] = " --4) GET['message'] :".$_GET['message'];$lettura["COD5"] = " --5) file_get_contents :".file_get_contents('php://input');$lettura["COD6"] = " --6) INPUT_POST :".filter_input(INPUT_POST);$lettura["COD7"] = " --7) INPUT_POST, 'message' :".filter_input(INPUT_POST, 'message', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY);$num=8;$postIserver= filter_input_array(INPUT_SERVER);foreach ( $postIserver as $b ) { $lettura["COD".strval($num)] =$b;$num=$num+1; }$myJSON = json_encode($lettura);echo $myJSON;
Il file "PagServer.php" invia la query e riceve il Json (caricato su server Windows).
PagServer.php
Codice PHP:
$query_post= "TEST-QUERY-CURL";$messageArray=array( 'message'=>$query_post); $message=http_build_query($messageArray);
$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);curl_setopt($ch,CURLOPT_POST, 1); //0 for a get requestcurl_setopt($ch,CURLOPT_POSTFIELDS,$message);// ELIMINA ERRORE (Syntax error, malformed JSON) su server Wincurl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,30);$json = curl_exec($ch);curl_close ($ch); $jsonDecode = json_decode($json);
Output server Linux
test POST
--2) POST['message'] :TEST-QUERY-CURL
--3) INPUT_POST['message'] :TEST-QUERY-CURL
--4) GET['message'] :
--5) file_get_contents :message=TEST-QUERY-CURL
--6) INPUT_POST :
--7) INPUT_POST, 'message' :
application/x-www-form-urlencoded
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Apache/2.4.7 (Ubuntu) Server at *** Port 80
45502
CGI/1.1
HTTP/1.1
POST
/ws_red/ws_test1.php
Output server Windows
test POST
--2) POST['message'] :
--3) INPUT_POST['message'] :
--4) GET['message'] :
--5) file_get_contents :
--6) INPUT_POST :
--7) INPUT_POST, 'message' :
/JsonTest1/ws/ws_test1.php
Microsoft-IIS/8.5
HTTP/1.1
GET
28388
CN=*.***.it
C=GB, ..., CN=Sectigo RSA Domain Validation Secure Server CA
2048
256
on
CGI/1.1
https
2048|256|C=GB, ..., CN=Sectigo RSA Domain Validation Secure Server CA|CN=*.***
/JsonTest1/ws/ws_test1.php
Keep-Alive
RESPONDER
/JsonTest1/ws/ws_test1.php
Grazie a tutti.