В настоящее время я пытаюсь добавить второй сервер для своего сайта, разделив различные службы. Один сервер отвечает за основную часть моего веб-сайта, а другой — за мою службу чата.
Однако иногда главный сервер должен соединяться с другим сервером, предпочтительно используя только файлы PHP. Это происходит, когда пользователь изменяет свои настройки, например, на главном сервере, тогда второй сервер должен быть уведомлен в тот же момент (т.е. обновление базы данных).
Так, например, когда пользователь меняет настройку на www.example.com/foo.php
(Сервер 1), запрос должен быть отправлен www.sub.example.com/bar.php?setting=1&value=abc
(Сервер 2), не показывая второй запрос пользователю. Это должно быть сделано в фоновом режиме, желательно даже асинхронно по запросу пользователя.
Кто-нибудь знает лучший / самый простой способ добиться этого?
Проверьте CURL: http://php.net/manual/en/book.curl.php
Обычно это то, что я использую для междоменных уведомлений.
Например. отправить запрос с curl. Возьмите параметры из данных публикации и используйте их для создания запроса (вы можете использовать свои собственные параметры, а не данные публикации)
//set POST variables
$url = $_POST['url'];
unset($_POST['url']);
$fields_string = "";
//url-ify the data for the POST
foreach($_POST as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
$fields_string = rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);