Как стать автором
Обновить

Комментарии 20

Интересно, зачем из C# может понадобиться вызывать PHP-скрипт? Мне кажется, статье не хватает примеров реального использования PHP в совокупности с другими технологиями. Ну, или хотя бы областей, в которых этот подход может пригодиться.
На шарпе я лишь написал пример использования. Шарп — довольно простой язык, так что исходник получился компактным, но при этом показательным.
php-cgi предназначен прежде всего для использования в веб-серверах. Если вы пишите небольшой веб-сервер для себя (как вариант — для курсовой или дипломной работы), то вполне сможете его использовать.
То есть получается, что основной областью вызова PHP из другого runtime будут прежде всего веб-серверы?
PHP создавался для веб-серверов. Естественно, что с ним работать будут в первую очередь веб-сервера :-) Тем не менее, это не означает, что его нельзя применять нигде больше. Вон, даже прикладные программы на нем пишут. Полный простор фантазии :-)
прикольно, не знал что openserver написали на пыхе…
хм, первое что приходит в голову — написанный не пхп менеджер базы Mysql. При условии что база меняется а перекомпилировать программу на си нет возможности.
а вообще да, зачем сям пхп?
Есть же HeidiSQL — отличный и бесплатный менеджер.
не тот менеджер. я имел ввиду связывающее звено между программой на си и сервером mysql, я забыл как оно называется правильно.
Т.е. php-скрипт по какой-то логике и с какими-то параметрами запрашивает данные из базы, отдает их в виде текста через DataReceivedEventHandler программе, та их парсит и использует? Извращение, однако…
Как вариант, можно использовать для генерации отчетов. Использовать PHP как гибкий и настраиваемый шаблонизатор с возможностью подключения к базе данных и редактирования шаблона без изменения исходного кода программы.
С PHP 5.3 очень даже неплохо писать демонизированные скрипты под Linux
procname + PNCTL + немного мозга (и в моём случае Yii, который имеет каркас для консольных приложений) — получается очень даже не дурно и стабильно. Но естественно руки должны рости из правильного места и быдлокодер не напишет нормальное приложение :)
Затем, что нанимать человека для программирования такого демона на чём-то более православном, когда там работы на 3-4 дня, нету никакого смысла.
К тому же оно отлично работает, память не жрёт, не вылетает и вообще отрабатывает шустро. Конечно оно и написано не абы как, а по лучшим практикам демонов под *nix — start, stop, restart, PID, fork, логирование и обработка ошибок через исключения.
Хрень можно написать на любом языке, просто на некоторых это сделать сложнее :) А когда за дело берёшься по человечески, то такую вещь как демона сделать на PHP ничуть не отличается от Python или Ruby — процесс тот-же. Запустились, установили обработчики сигналов, инициализировали логи, форкнулить, поставили пид и вошли в бесконечный цикл. Дальше тока пишем логику демона и всё.
простого демона написать на Си/Питоне куда проще чем на PHP, хотя бы потому что существует множество статей и howto.
ну а написание более-менее сложного демона сведет на нет все преимущества PHP, и написать будет перемежаться матом :)
Я согласен с мнением что PHP не самый подходящий инструмент, но о сложностях вы сильно приувиличиваете. Скорее проблема в том, что 97% тех, кто работает на PHP, без понятия о системном программировании, демонах и прочих сопутствующих вещах. Следовательно их попытки буду вызывать реакцию «ВЫРВИТЕ МНЕ ГЛАЗА ОМГ!».
А вот какраз таки работать с текстом, базами (да и вообще набор расширений для PHP), а так же лёгкость правки и изменения кода вполне себе оправдывает такие вещи.
Да, числодробилку или работу с действительно большими объёмами данных на PHP делать это самоубийство, но когда задача небольшая по объёму — вполне вариант.
Да и товарищь ertaquo вам ссылки дал :)
Мат появляется только там где какая-то падла начинает жрать память. На моей памяти единственной такой падлой была Doctrine1, которая во внутренних объектах сохраняла все компии объектов моделей, с которыми работала.

А вцелом, конечно, писать демоны на РНР — извращение, но получилось достаточно эффективно. Даже если писать самому с нуля, без документаций (а их пока действительно маловато). На самом деле всё логично и понятно, но я писал ещё когда был на Винде и впервые узнал, что в php есть pcntl-функции. Короче меня удивило и поставило в ступор только одно: оно всё просто, оно работает и практически никто об этом не говорит!
Писал демона по статье на хабре — до сих пор работает (я не об up time =) ). Даже без pcntl, демоны замечательно стопаются по старнике, файловыми флагами.
%комментарий_про_преимущества_png_над_jpg%
отлично спасибо… попробую использовать в своей программе…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории