PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
at0m1x Отправлено: 22 Февраля, 2016 - 07:49:32 • Тема: Узнать провайдера (база стран, городов и IP имеется) • Форум: Вопросы новичков

Ответов: 6
Просмотров: 1201
Через GeoIP можно и бесплатной версией пользоваться, для определения страны по IP вполне подходит.

Или можно использовать онлайн сервисы, например:

http://api[dot]sypexgeo[dot]net/json/89[dot]163[dot]220[dot]14

Подробнее обо всем этом можно почитать тут: http://atoumus[dot]github[dot]io/PHP/php[dot][dot][dot]untry-by-ip[dot]html
at0m1x Отправлено: 29 Декабря, 2015 - 12:30:53 • Тема: PHP - как управлять демонами автоматически? • Форум: Программирование на PHP

Ответов: 2
Просмотров: 482
Остановился на супервайзере, из плюсов:
- легко ставится через apt-get
- имеет веб интерфейс в котором можно делать старт/стоп/рестарт демонов и смотреть логи
- конфиги демонов можно хранить прямо в проекте (!) http://supervisord[dot]org/configura[dot][dot][dot]section-settings
- легко настроить использование supervisorctl без рута http://coffeeonthekeyboard[dot]com/u[dot][dot][dot]oot-or-sudo-977/
- также можно демонов для проекта объединить в группу и всей группой их рестартовать http://serverfault[dot]com/questions[dot][dot][dot]or-group-at-once
at0m1x Отправлено: 27 Декабря, 2015 - 06:31:01 • Тема: PHP - как управлять демонами автоматически? • Форум: Программирование на PHP

Ответов: 2
Просмотров: 482
Привет всем)

Есть проект, в котором используются фоновые обработчики очередей задач, например отправка писем. Эти фоновые обработчики работают в виде демоном. Каждый демон настроен в upstart'е, для того что бы в случае падения, система автоматически его запускала. Но есть небольшое неудобство, заключается оно в том, что для каждого демона нужно создавать отдельный конфиг апстарта вручную. ОС: Ubuntu.

Вопрос: есть ли для PHP какая либо утилита, которая позволяла бы в проекте создать конфиг файл, по которому бы демоны автоматически экспортировались в апстарт. Или что бы эта утилита сама отслеживала работу демонов и перезапускала их в случае падения.

Знаю что есть подобные утилиты в других ЯП например в руби это фореман, в ноде это например pm2. Но хотелоcь бы найти что то более "родное" именно для PHP.

Чего хотелось бы от этой утилиты:
- можно указывать кол-во инстансов демона
- авто-перезапуск через определенные промежутки времени (как по крону)
- авто-запуск при падении демона
- авто-запуск при старте ОС
- веб-интерфейс отображающий текущее потребление памяти и strout и strerr
at0m1x Отправлено: 24 Декабря, 2015 - 18:01:32 • Тема: Vagrant — почему не работает проброшенный порт? • Форум: Администрирование *nix

Ответов: 1
Просмотров: 1043
Нашел решение, отвечаю на свой вопрос.

1. Настройка сети в VirtualBox имеет вид:
prntscr.com/9i3dld

2. Запускаем встроенный PHP сервер на виртуальной машине только под 0.0.0.0 IP, например так:
$ php -S 0.0.0.0:8081

3. Открываем на виртуальной машине порт 8081 в наружу:
$ sudo iptables -I INPUT -p tcp -m tcp --dport 8081 -j ACCEPT


4. На хост машине (винда) в браузере указываем внешний IP адрес виртуальной машины и тот порт который мы открыли в наружу:
192.168.56.101:8081

После таких "не хитрых" : ) манипуляций заработало.
at0m1x Отправлено: 24 Декабря, 2015 - 14:41:02 • Тема: Vagrant — почему не работает проброшенный порт? • Форум: Администрирование *nix

Ответов: 1
Просмотров: 1043
С помощью Vagrant настроена виртуалка с Ubuntu server и PHP.

Проброшен порт:
host: '1234'
guest: '1144'

При старте вагранта (vagrant up) он пишет:
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 => 8016 (adapter 1)
default: 1144 => 1234 (adapter 1)
default: 22 => 2222 (adapter 1)


Запускаю на виртуалке встроенный PHP сервер:
$ php -S 0.0.0.0:1144
PHP 5.5.29-1+deb.sury.org~trusty+3 Development Server started at Thu Dec 24 10:47:34 2015
Listening on http://0[dot]0[dot]0[dot]0:1144
Document root is /home/vagrant
Press Ctrl-C to quit.


Пытаюсь открыть на хост машине (т.е. основная ОС которая стоит на компе, не виртуалка) адрес: 127.0.0.1:1234
или
192.168.56.101:1234

Не открывается, скорее всего напутал с IP или портами, пока не понял в чем именно.
at0m1x Отправлено: 27 Октября, 2015 - 09:52:22 • Тема: Linux PHP - отследить цепочку серверов в запросе • Форум: Программирование на PHP

Ответов: 2
Просмотров: 544
В итоге остановился на баш команде tcptraceroute

Эта команда как раз стучится на 80-й порт и показывает через какие промежуточные сервера проходит запрос.

Сделал баш скрипт, который переодически выполняет эту команду и логирует результаты. Запустил его на несколько часов, после чего проанализировал логи и выяснилось что запросы все таки сбрасывает API сервер к которому я обращаюсь. Т.к. через все промежуточные сервера зарос проходит стабильно, а при обрыве если посмотреть по логу он всегда происходил именно на конечном сервере. Так что команда помогла выяснить где именно обрывается запрос.

Код баш скрипта:

CODE (bash):
скопировать код в буфер обмена
  1.  
  2. while [ 1 = 1 ]
  3. do
  4.   date >> ./trace-so.log
  5.   tcptraceroute api.server.com >> ./trace-so.log
  6. done
  7.  
at0m1x Отправлено: 15 Октября, 2015 - 18:40:22 • Тема: Linux PHP - отследить цепочку серверов в запросе • Форум: Программирование на PHP

Ответов: 2
Просмотров: 544
Всем привет. У меня есть сайт (ubuntu server, php, nginx). Он связан с другим сайтом и отправляет много POST запросов на API этого другого сайта. В день уходит примерно 10000 запросов. Из них 2000 не успешных. Отправляю запросы с помощью CURl:

$ch = curl_init('http://api.other-site.com/api');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'field1' => 'value1',
'field2' => 'value2',
...
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);

При не успешных запросах в переменную $error ложится строка: Recv failure: Connection reset by peer

Я хочу выяснить из-за чего такая не стабильная связь. Скорее всего не стабильный интернет канал между моим сервером и сервером API.

В идеале было бы сделать скрипт, который бы отправил 10000 тестовых запросов с моего сервера на сервер API, и при этом подробно бы залогировал через какие промежуточные сервера шел запрос, и на каком оборвался в случае не успешного выполнения. Т.е. что бы лог был примерно в таком виде:

2015-10-15 10:10:12 success
Request:
URL: http://api[dot]other-site[dot]com/api
METHOD: POST
PARAMS: field1=value1&field2=value2&field3=value3
123.236.100.240 server1.com
123.236.99.240 server2.com
123.6.100.240 server3.com
123.6.100.20 api.other-site.com
Response:
123.6.100.20 api.other-site.com
123.6.100.240 server3.com
123.236.99.240 server2.com
123.236.100.240 server1.com

2015-10-15 10:10:12 error
Request:
URL: http://api[dot]other-site[dot]com/api
METHOD: POST
PARAMS: field1=value1&field2=value2&field3=value3
123.236.100.240 server1.com
123.236.99.240 server2.com
123.6.100.240 server3.com CONNECTION RESET
NO RESPONSE

Этот скрипт будет запускаться из под консоли сервера. Возможно такой написать на PHP, или каком то другом языке?
at0m1x Отправлено: 18 Декабря, 2011 - 21:03:54 • Тема: WebMoney - Периодически не проходят платежи • Форум: Вопросы новичков

Ответов: 1
Просмотров: 124
Всем привет, столкнулся с такой проблемой. На моем сайте настроены различные платежные системы, в том числе и WM. В основном платежи проходят успешно, но иногда при оплате выдается вот такое сообщение:

Платеж xxx.xx WM с кошелька Rxxxxxxxxxxxx на кошелек Rxxxxxxxxxxxx через merchant.webmoney.ru выполнен, но оповестить продавца не удалось. Ошибка:The server returned an invalid or unrecognized response; Пожалуйста обратитесь к продавцу!

Подскажите из-за чего такое может быть? Т.к. все остальные платежные системы работают хорошо - платежи проходят. А вот с WM иногда бывает такая проблема. Может кто-то с таким сталкивался... Писал в саппорт WebMoney и на форум, ответа не дают.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB