PHP: Hvordan sender du POST-data ved hjælp af Windows Task Scheduler?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne implementere et PHP-script til automatisering for at læse mine data hvert 5. minut i Windows-serveren, og derefter skal alle nyligt redigerede data overføres til et andet PHP-script til at læse og gemme i databasen.



  1. Server A (Windows server) har database A (MSSQL) og PHP A.

  2. Server B (Windows server) har database B (MySQL) og PHP B.

  3. PHP A læser database A hvert 5. minut, kun nye/redigerede data, der skal læses.

  4. PHP A (IP\_address\_1/URL\_1) sender data til PHP B (IP\_address\_2/URL\_2).

  5. PHP B læser data og dumper dem i database B



Jeg skal udarbejde del 4, som jeg ikke ved, hvordan man indstiller en opgaveplanlægger for at åbne filen og derefter sende dataene til et andet PHP-script til at læse og gemme i database, der findes i en anden server.


Problemer:



  1. Sådan sendes data i PHP-fil automatisk? Ved POST-data, og hvordan? Eller nogen anden metode til at sende/sende data automatisk til en anden servers PHP-fil?

  2. Sådan indstilles opgaveplanlægger i Windows-server for at åbne denne PHP-fil. Jeg ønsker ikke at lære indbygget CRON-job. Men noget lignende måde.



I min PHP B skal jeg læse POST-data fra PHP A, dette er hoveddelen.
Så hvordan kan jeg lade min PHP A sende POST-data uden at nogen klikker på submit knappen, og det er ved hjælp af task scheduler at indsende.

Bedste reference


For at POST data skal du bruge cURL. Du kan lære mere på:


http://php.net/manual/en/curl.examples.php[2]


Prøvekode:


<?php
        $ch = curl\_init("www.example.com/curl.php?option=test");
        curl\_setopt($ch, CURLOPT\_HEADER, 0);
        curl\_setopt($ch, CURLOPT\_POST, 1);
        curl\_setopt($ch, CURLOPT\_RETURNTRANSFER, 1);
        $output = curl\_exec($ch);       
        curl\_close($ch);
        echo $output;
?>