サーバーA
でA.php
を実行した際に、同時にサーバーB
にあるB.php
も実行させたいです。
具体的には、A.php
からB.php
に必要な情報をPOSTして、B.php
側でも処理を実行させます。
GitHubのwebhookみたいなイメージなのですが、言葉たらずでしたら申し訳ありません。
上記のような方法を取るなら、下記の様に考えていますが、
このような動きで、他に良い方法はありますでしょうか?
また、下記の方法で気をつける点、ツッコミどころがあればご教授頂けると幸いです。
何卒よろしくお願い致します。
【A.php
からcurlでPOST】
php
1$url = "http://b.example.com/B.php"; 2 3$postdata = [ 4 "field1" => "xxx", 5 "field2" => "123" 6]; 7 8$ch = curl_init($url); 9curl_setopt($ch, CURLOPT_POST, true); 10curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 11curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); 12$result = curl_exec($ch); 13curl_close($ch);
【B.php
で受け取って実行】
php
1if (!isset($_POST)) { 2 exit; 3} 4 5//POSTがあった場合の処理 6mkdir($_POST['field1']); 7: 8: 9(等々)
##追記
例に出したドメインを修正しました。
そのB.phpが、UIがあって人間も入力可能な画面をもたせるのか、単にPOSTを受け付けて簡単なステータスだけ返すだけなのか、によっても回答が割れそうです。
UIは持ちません。POSTを受けて、その値を使用した処理を行います。A.php側にB.phpの成功・失敗等が返せたらと思っています。