IndigoHollow
13.01.2015 - 13:22
У меня есть два сервера:
сервер1 - без поддержки PHP и MySQL. На этом сервере находится сайт.
сервер2 - с поддержкой PHP и MySQL
Могу ли я с сервера1 запустить php-скрипт на сервере2, а потом получить обратно результат выполнения этого скрипта? Если да, то как? В какую сторону копать?
Подробнее: Написал скрипт голосования, который работает на локальном сервере, а теперь хочу перенести на реальный сайт. Проблема в том, что сервер1 не поддерживает php, поэтому хочу производить все вычисления на сервере2, а результат показывать на сервере1.
Игорь_Vasinsky
13.01.2015 - 13:29
IndigoHollow
1. фрейм
2. сгенерировть на php html контент и подключить как JS
3. ajax (предпочтительней)
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
IndigoHollow
13.01.2015 - 14:01
Цитата (Игорь_Vasinsky @ 13.01.2015 - 09:29) |
IndigoHollow 1. фрейм 2. сгенерировть на php html контент и подключить как JS 3. ajax (предпочтительней) |
Да, я выбираю AJAX. Мне надо послать на сервер2 ip посетителя. Как это можно сделать, ведь JavaScript не умеет определять ip? Нашел вот решение:
<script type="application/javascript">
function getip(json){
var ipaddress = json.ip;
}
</script>
<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip"></script>
Итак, мы получили ip посетителя. Теперь пишем AJAX-конструкцию:
$.ajax({
url: "http://domain/button1.php",
cache: true,
type: 'Get',
data:{book:1},
success:
function(count) {
}
});
Как передать через эту конструкцию ip в php-функцию?
Игорь_Vasinsky
13.01.2015 - 14:15
Можно ж проще тогда
на сервере2 - где PHP - создать файл getip.php
<?php
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
?>
на сервере1 где тока HTML в нужной страничке добавить
<iframe width="1px" height="1px" src="http://сервер2/getip.php"></iframe>
Когда юзер попадает на страницу сервера1 - он подгружает во фрейме скрипт с сервера2 - где отдается его IP
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 13.01.2015 - 09:29) |
ajax (предпочтительней) |
только нужно иметь ввиду, что конкретно в этом случае речь идет о кроссдоменном ajax со всемы вытекающими.
Игорь_Vasinsky
13.01.2015 - 14:28
kaww
тут оказалось и iframe достаточно более чем.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Еще можно
- get_file_contents
- include (allow_url_include on)
- fopen
- curl
А также сокеты
Игорь_Vasinsky
13.01.2015 - 14:58
mvg
на сервере1 - тока HTML
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 13.01.2015 - 13:58) |
mvg на сервере1 - тока HTML |
Мигрировать на Сервер 2 , а htaccess настроить с RewriteRule Сервер 1 Сервер 2.
Или с помощью node.js установить прямую связь с Сервером 2 через PPP соединение используя socket.io
А также в node.js есть http.get который позволить затянуть файл из вне (сам не пробовал, но слышал и гуглил)
Игорь_Vasinsky
13.01.2015 - 16:00
mvg
а чем тебе ifrme не подходит? лишние движения не нужны никому
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
13.01.2015 - 16:48
Цитата (IndigoHollow @ 13.01.2015 - 13:01) |
Мне надо послать на сервер2 ip посетителя. Как это можно сделать, ведь JavaScript не умеет определять ip? |
и не нужно ничего определять, клиент же сам будет обращаться ко второму серверу.
IndigoHollow
13.01.2015 - 17:35
Цитата (Игорь_Vasinsky @ 13.01.2015 - 10:15) |
Можно ж проще тогда
на сервере2 - где PHP - создать файл getip.php
<?php if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; }
?>
на сервере1 где тока HTML в нужной страничке добавить
<iframe width="1px" height="1px" src="http://сервер2/getip.php"></iframe>
Когда юзер попадает на страницу сервера1 - он подгружает во фрейме скрипт с сервера2 - где отдается его IP |
За решение с iframe спасибо, оно работает. А не знаете как сделать то же самое через аякс? Все-таки iframe не рекомендуется использовать из SEO соображений.
Игорь_Vasinsky
13.01.2015 - 18:43
аяксом отправить ip полученый по API на сервер2 (на обработчик)
Цитата |
Все-таки iframe не рекомендуется использовать из SEO соображений. |
что ты там поисковику собрался отдавать в iframe? )))
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
IndigoHollow
14.01.2015 - 20:49
Цитата (Игорь_Vasinsky @ 13.01.2015 - 14:43) |
аяксом отправить ip полученый по API на сервер2 (на обработчик)
Цитата | Все-таки iframe не рекомендуется использовать из SEO соображений. |
что ты там поисковику собрался отдавать в iframe? )))
|
Я ничего не хочу поисковику отдавать, просто не рекомендуется использовать любые iframe на сайте, это в любом SEO-учебнике написано

Большое спасибо,
Игорь_Vasinsky, за помощь! Потанцевал немного с бубном, допилил под свою задачу и все получилось!
Игорь_Vasinsky
14.01.2015 - 20:55
Цитата |
Я ничего не хочу поисковику отдавать |
и
Цитата |
это в любом SEO-учебнике |
противоречат друг-другу
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.