SASGIS

Веб-картография и навигация

Поддержка PHP скриптов

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Re: Поддержка PHP скриптов

Сообщение zed » 04 апр 2011, 15:53

Да, но это ведь надо сперва загрузить этот скрипт (ява?) выполнить его и уже только потом получить результат. Это что ж, ещё и интерпретатор явы прикрутить надо?
В SAS оно работает потому что качается средствами wininet (считай через IE).
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Поддержка PHP скриптов

Сообщение Tolik » 04 апр 2011, 16:14

Чё-то опять заглючила, потёрла уже скачанные тайлы, потом перестала запускаться, Access Violation in SASPlanet.exe..... :(
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 280 раз.
Поблагодарили: 587 раз.

Re: Поддержка PHP скриптов

Сообщение zed » 04 апр 2011, 16:41

Посмотрите, действительно ли это из-за PHP? И попробуйте exe из аттача (он должен более подробно про ошибки писать).
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Поддержка PHP скриптов

Сообщение Parasite » 04 апр 2011, 18:35

zed писал(а):
Parasite писал(а):
zed писал(а):Но вот если тот прокси ещё требует и авторизацию, то работать не будет - у юзера нужно как-то спросить логин/пароль. Пока что в раздумьях на эту тему.

Можно рядом со скриптом иметь текстовичок с лог\пасс, а в скрипт (любой, включая все будущие) его инклудить при его наличии. Правда, могут быть грабли при одновременном доступе к текстовичку от двух разных скриптов (например от двух процессов качания в САСе)

Зачем, если настройки прекрасно берутся из сас? Просто если у юзера прокси с авторизацией да он ещё включил "брать из реестра", то он получит: "Ошибка авторизации на прокси", зайдёт в настройки сас и вобьёт ручками логин и пароль. Делов-то. Согласись, это гораздо проще, чем держать текстовичок.

Ну мне-то без разницы - мне Говинда не запрещает настройки прокси упихать в сам скрипт (одной строчкой) и не заморачиваться.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение Parasite » 04 апр 2011, 18:39

Parasite писал(а):
zed писал(а):Ну, давай ради интереса.

Угу. Чуть пожже тогда.

Нате.
http://depositfiles.com/files/r2aglowxm
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение Tolik » 05 апр 2011, 08:34

zed писал(а):Посмотрите, действительно ли это из-за PHP? И попробуйте exe из аттача (он должен более подробно про ошибки писать).

Попробовал, этот exe точно так же вылетал при запуске, создавая файл elf, вот с какой ошибкой.
2.6 Message : Access violation at address 0074C40E in module 'SASPlanet.exe'. Read of address 00000000.
Помогло только удаление карт со скриптами php, тогда стала запускаться.
Карты вернул, снова запускается, но Яндекс не скачивается.

zed, мне бы хотелось вернуться к вопросу о целесообразности этой затеи.
Честно, говоря, мне не нравится то, что получается.

1. скрипты получаются весьма громоздкие и неизящные, каждый скриптописатель не должен заботиться о каких-то сокетах и прокси
2. отладка их - настоящая pain in the ass, из-за простой синтаксической ошибки могут начаться нереальные глюки
3. скрипты интерпретируются только во время исполнения, из-за этого их невозможно полностью отладить (нет даже проверки синтаксиса скрипта в целом)
4. на каждый тайл открывается новая TCP-сессия, с нового порта. В firewallах протыкаются сотни дыр, NAT/PAT-рутеры должны всё это транслировать и хранить в памяти, сервер провайдера открывает сотни сессий и не спешит их закрывать - рано или поздно или рутер зависнет, или провайдер запретит это безобразие.
5. Всё, что можно написать на PHP, можно сделать лучше и проще на паскаль-скрипте. Или почти всё?

zed, у Вас есть исходники, Вы можете добавлять параметры и переменные, так добавьте User-Agent, Referer, Cookie и т.п., пусть SAS всё это выдаёт в запросе и будет всем щастье. Правда, такой фичреквест уже есть.
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 280 раз.
Поблагодарили: 587 раз.

Re: Поддержка PHP скриптов

Сообщение Parasite » 05 апр 2011, 08:52

Tolik писал(а):каждый скриптописатель не должен заботиться о каких-то сокетах и прокси

То есть? Вся затея - как раз про дополнительную заботу о скриптах и прокси.
Тем, кому не хочется заботиться - юзают голый САС и не утруждают себя.

Tolik писал(а):отладка их - настоящая pain in the ass, из-за простой синтаксической ошибки могут начаться нереальные глюки

Опять же, те кому охота отлаживать и кто знает что и зачем делает - ставят полный языковой пакет и отлаживают в консоли (с какими угодно подробнейшими сообщениями об ошибках). Там же еще и модули есть - можно такого нагородить, что ой.... :roll:
Те, кому отладка не нужна - юзают канонiчную версию САСа с первой страницы сайта и не парятся.

Tolik писал(а):на каждый тайл открывается новая TCP-сессия, с нового порта.

А это, конечно, минус. Тут уж ничего не попишешь - я ранее и говорил, что нужна будет поддержка и со стороны разработчиков САСа тоже... :(

Tolik писал(а):Правда, такой фичреквест уже есть.

...с соответствующей датой релиза... :x
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение zed » 05 апр 2011, 09:24

SAS.Planet.110405.Alfa.PHP
- введено ограничение на версию PHP: можно использовать 5.2.x, VC6, ThreadSafe (в комплекте версия 5.2.17);
- с введением на ограничение версии php исчезла проблема 2-х лишних байт в конце тела ответа, соответствующая проверка в SAS отключена;
- запуск скриптов из заархивированного zmp (только если Preload=1 и в скрипте не используются инклуды);
- версия с отладочной информацией - при возникновении исключительных ситуаций в SAS, создаётся отчёт об ошибке - *.elf.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Поддержка PHP скриптов

Сообщение zed » 05 апр 2011, 09:48

Tolik писал(а):Попробовал, этот exe точно так же вылетал при запуске, создавая файл elf, вот с какой ошибкой.
2.6 Message : Access violation at address 0074C40E in module 'SASPlanet.exe'. Read of address 00000000.

Так разговор за файл elf - в нём написано в какой именно "точке" возникло исключение, что позволит его локализовать.

Tolik писал(а):каждый скриптописатель не должен заботиться о каких-то сокетах и прокси

Кто вам такое сказал? Если вы не хотите заботиться о каких-то сокетах - используйте паскаль-скрипты и не смотрите на php.
Tolik писал(а):из-за простой синтаксической ошибки могут начаться нереальные глюки

Не могут. Синтаксическая ошибка --> скрипт не компилируется --> SAS пишет "Неизвестная ошибка" и переходит к следующему тайу. А в случае если включён debug=1 то SAS ещё попутно покажет вам мессадж с описанием ошибки и указанием номера строки в скрипте, где эта ошибка произошла.
Tolik писал(а):на каждый тайл открывается новая TCP-сессия, с нового порта.

Этот вопрос ещё пока не закрыт полностью - просто у меня пока что не дошли руки до конкретно этого момента. Нужно попробовать передавать указатель открытого сокета в sas и не закрывать сокет по завершению скрипта.
Tolik писал(а):Всё, что можно написать на PHP, можно сделать лучше и проще на паскаль-скрипте. Или почти всё?

Не всё, а только то, что вам разрешит SAS. Сейчас SAS не разрешает менять хидеры запросов - элементарнейшая вещь, казалось бы... А еще ведь нужна возможность анализировать хидеры/тело ответа сервера, иногда выполнять POST запросы и проч.
Tolik писал(а): у Вас есть исходники, Вы можете добавлять параметры и переменные, так добавьте User-Agent, Referer, Cookie

Закончу, с php - посмотрю что можно сделать с паскаль-скриптами (если разрешат, конечно).

Tolik, вы в разделе "Для разработчиков" + идёт отладка/добавление не самой простой фичи. А вы - бета- (или даже альфа-) тестер. И то, что оно временами глючит - нормальное явление, и то что вам сейчас трудно написать свой скрипт - тоже нормально.

За это сообщение автора zed поблагодарил:
Parasite (05 апр 2011, 10:40)
Рейтинг: 5.26%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Поддержка PHP скриптов

Сообщение vdemidov » 05 апр 2011, 11:30

zed писал(а):Закончу, с php - посмотрю что можно сделать с паскаль-скриптами (если разрешат, конечно).

Разрешат с большей вероятностью, чем добавить PHP в основную ветку :mrgreen:
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0