PHP cURL required only to send and not wait for response

前端 未结 6 1875
被撕碎了的回忆
被撕碎了的回忆 2020-12-09 09:11

I need a PHP cURL configuration so that my script is able to send requests and ignore the answers sent by the API.

curl_setopt($ch,CURLOPT_URL,$url);
curl_se         


        
6条回答
  •  旧时难觅i
    2020-12-09 09:41

    Sender file example ./ajax/sender.php

    Below we trying just make ping to php script without waiting on answer

        $url = 'https://127.0.0.1/ajax/received.php';
        $curl = curl_init();                
        $post['test'] = 'examples daata'; // our data todo in received
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt ($curl, CURLOPT_POST, TRUE);
        curl_setopt ($curl, CURLOPT_POSTFIELDS, $post); 
    
        curl_setopt($curl, CURLOPT_USERAGENT, 'api');
    
        curl_setopt($curl, CURLOPT_TIMEOUT, 1); 
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl,  CURLOPT_RETURNTRANSFER, false);
        curl_setopt($curl, CURLOPT_FORBID_REUSE, true);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 1);
        curl_setopt($curl, CURLOPT_DNS_CACHE_TIMEOUT, 10); 
    
        curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
    
        curl_exec($curl);   
    
        curl_close($curl);  
    

    Received file example ./ajax/received.php

    EDIT 2019 if you using fastcgi just finish fastcgi and browser close connection but script still will be working up to end.

    fastcgi_finish_request(); $this->db->query('UPDATE new_hook_memory SET new=new+1 WHERE id=1');
    

    Old version:

    ob_end_clean(); //if our framework have turn on ob_start() we don't need bufering respond up to this script will be finish 
        header("Connection: close\r\n"); //send information to curl is close
        header("Content-Encoding: none\r\n"); //extra information 
        header("Content-Length: 1"); //extra information
        ignore_user_abort(true); //script will be exisits up to finish below query even web browser will be close before sender get respond
    
        //we doing here what we would like do
        $this->db->query('UPDATE new_hook_memory SET new=new+1 WHERE id=1');    
    

提交回复
热议问题