Народ, подскажите пожалуйста, существуют ли способы обрабатывать запросы одним процессом PHP? Подобное желание связано с большими затратами на подготовку данных перед выполнением основных действий скрипта. Серриализация проблематична. Да и копировать данные тоже не хочется, так как при одновременной обработке запросов память быстро иссякнет. Хотелось бы иметь некое подобие объекта Application в ASP, посредством которого обработчики запросов могли бы обмениваться данными, не выгружая их из памяти и не сбрасывая их в файл или БД.
Если кто-то считает, что это невозможно, или что это полный бред, то таких также прошу выссказаться Интересно услышать любые мнения по данной теме.
можно написать "демона", который будит постоянно запущен, хранить данные и обрабатывать их..... но это лучше не на пхп делать а на С++
Да! Это именно то, о чем я говорю! Большое Спасибо Одна только проблема с SRM: он не работает с PHP 5.x. Вы правы. Я тоже об этом думал. И все-таки, у PHP есть одно великолепное достоинство: это скрипт Его можно обновлять без приостановки приложения, его не нужно перекомпилировать после каждого изменения, плюс еще масса достоинств самого языка PHP. В общем, не хочется распрощаться со всеми этими привыкшимися удобностями Поэтому и ищу возможность скрестить демона и PHP.
в версии 0.8.0 обещают сделать поддержку пхп5. остается только ждать. или самому что-то подобное делать...
Кстати, Script Running Magic связывает PHP и демона посредством сокетов. Это дает возможность размещать SRM на другом сервере. Также там сказано, что если SRM находится на той же машине, где и веб-сервер, то можно использовать домены unix, что даст скорость примерно в 12 раз выше чем с сокетами TCP/IP. Возникла мысль о том, что можно просто запустить PHP скрипт как демона, и посредством сокетов связываться с ним. Вероятно, это будет куда быстрее, чем писать в файл? А при желании можно и организовать делегирование удаленных объектов. Я вот только никогда не работал с сокетами в PHP. Может ли кто-нибудь сказать, как организовать обмен данными между двумя скриптами PHP с использованием доменов unix, и что это вообще за домены такие?
А может быть тогда уже проще будет написать веб-сервер на PHP и инклюдить запрашиваемые страницы? ))))
UNIX Socket это..... типа именованный pipe такой....... копать стоит в сторону http://ru.php.net/manual/ru/function.socket-connect.php
Кстати, по поводу веб-сервера на PHP - это я вполне серьезно :-D Это могло бы решить проблему с глобальными объектами Кто-нибудь встречал подобное извращение? Покапался в инете - нашел только шучтоные упоминания о "веб-сервер на PHP" рядом с "ОС на Perl" )
И тем не менее используется он довольно широко. Я неоднократно встречал довольно популярные консольные утилиты, написанные на PHP. Казалось бы, вроде не для этого, а ведь используется! Мало того, так оказывается, что PHP популярен и при решении всяческих математических вычислительных задач. В каких областях его еще используют - остается только догадываться. Так что, наверное, имеет больше смысла говорить об областях преминения, а не о назначении simpson, Как Вы считаете, почему PHP не подходит для этой задачи?
Согласен, быстродействие у него будет не ахти какое. В сравнении с сервером Apache. А если сравнивать с временем выполнения запрашиваемого скрипта: среднестатистическим, с запросами к базе и с обработкой результатов перед выводом? Тогда, наверное, временем обслуживания запроса веб-сервером, писанным на PHP, можно пренебречь? Разве что на статических файлах разница, наверное, будет заметна, но их можно оставить и под апачем, так как они не имеют никакого отношения к решению поставленной задачи. Меня вот смущает другая проблема: я не вижу способа организации многопоточной обработки запросов в рамках одного процесса. Чтобы скрипты работали параллельно, их все равно прийдется запускать под разными процессами. А так теряется вся выгода и смысл. Я правильно мыслю?
Потому как не хочется возвращаться к четвертому PHP __________________ Идея достойна существования только тогда, когда она достаточно безумна. (с) Эйнштейн