PHP без сервера - PullRequest
       14

PHP без сервера

1 голос
/ 09 июня 2011

У меня есть приложение на C #, которое должно вызывать PHP-скрипт и получать вывод максимально быстрым способом.Параметры, которые я исследовал:

  • Выполнение скрипта с помощью PHP CLI (Pro: Легко / Минусы: Нет кэша Opcode / Прекомпиляция]
  • Компиляция PHP (Phalanger, Hiphop и т. Д.)[Pro: нет веб-сервера / Con: совместимость]
  • Использование встроенного веб-сервера (AppWeb, Cherokee, Lighttpd) [Pro: Простой / Минусы: развертывание]

Существуют ли другие вариантыleft?

EDIT: лучший вариант - использовать встроенный FastCGI-сервер PHP, запустив php-cgi.exe -b 127.0.0.1. Но, похоже, нет кода (C #) для связи с доступным сервером.Хотя существует очень много серверных библиотек (таких как FCGIDotNet и SharpCGI), все они реализуют серверную часть протокола.

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Еще одним вариантом может быть запуск сценария PHP CLI в качестве демона (хороший пост в блоге об этом здесь ).

Если сценарий имеет особенно длительный запуск / очистку, то запуск его в качестве демона будет означать, что вы делаете это только один раз.

Недостатком является то, что вам нужно написать способ связи с этим демоном, чтобы получить на него данные из C #. Вам также необходимо следить за использованием памяти с течением времени.

Хотя лучший метод всегда будет специфичным для вашего сценария.

0 голосов
/ 09 июня 2011

Как вы, возможно, знаете, PHP изначально обозначал " Personal Home Page ", теперь говорят, что он означает " PHP: Hypertext Preprocessor ", что буквально заявляет о его использовании, и в основном это не то, что разработчик мог бы встроить в свое приложение, просто чтобы иметь возможность сценариев.

Если у вас нет действительно специфического программного обеспечения и веских аргументов, я бы предложил вам придерживаться Lua или подобных библиотек сценариев, которые легко встраивать и поддерживать. В противном случае, используйте его так, как его используют все, CLI. Или будьте готовы к последствиям.

...