Аргерих Л. О языке РНР. Часть 1. Страница 20


Легко представить себе, что выполнение в качестве модуля, как правило, должно быть гораздо более эффективно, чем в качестве CGI, поскольку не на­до запускать и завершать программу РНР для каждого запроса. Кроме того, тесная интеграция веб-сервера с модулями добавляет возможности, отсут­ствующие при запуске РНР в качестве CGI. Однако есть особые ситуации, когда выполнение в качестве CGI обеспечивает гибкость, недостижимую для модуля. Например, выполнение РНР в качестве CGI может происходить от имени пользователя с правами, расширенными или, наоборот, ограниченны­ми по сравнению с правами при выполнении в качестве модуля веб-сервера.

Заметим, что выполнение РНР как модуля не препятствует доступу к нему как к CGI, что удобно также для работы, не связанной с Интернетом, напри­мер с планированием событий. Скажем, веб-сайт может использовать РНР в качестве модуля и в то же время применять CGI как отдельный интерпрета­тор для обычной работы с таблицами базы данных или для отправки элект­ронной почты по расписанию.

В некоторых случаях решать не приходится, поскольку не с каждым веб­сервером РНР может работать в виде модуля. РНР может выполняться как CGI на любом веб-сервере, поддерживающем CGI (а это практически все веб­серверы). Дополнительную поддержку выполнения РНР в качестве модуля осуществляют только перечисленные ниже веб-серверы.

Веб-серверы, поддерживающие модули под UNIX

♦ Apache

• thttpd • fhttpd

♦ Zeus

♦ Roxen

♦ Pi3Web

Веб-серверы, поддерживающие модули под Windows

♦ Microsoft IIS 4.0, 5.0*

♦ AOLServer

♦ WebSphere

♦ Netscape web server

♦ iPlanet (совместное предприятие Sun и NetScape)

♦ Любой сервер

В период написания книги версия РНР все еще проходи­

ла фазу бета-тестирования, и ее не следовало устанавливать на реально экс­плуатируемых веб-сайтах. Для работы РНР рекомендуется устанавливать отдельный интерпретатор CGI-PHP. В действительности ядро РНР вполне стабильно под ISAPI. Однако программные пакеты сторонних разработчи­ков и интерфейсы РНР для них не всегда безопасны по отношению к пото­кам. Можно использовать РНР в виде модуля под Windows с ISAPI, но при­дется тщательно протестировать DLL расширений сторонних разработчиков при высоких нагрузках, чтобы убедиться в их безопасности по отношению к потокам.

Статус поддержки ISAPI как бета-тестируемой версии не обязательно дол­жен препятствовать установке РНР в качестве CGI на платформе Windows. Если только ваш веб-сервер под Windows не испытывает крайне высокой нагрузки, установка PHP CGI будет работать нормально. Только при очень высоком трафике модуль проявляет определенные преимущества по сравне­нию с CGI. Остальные проблемы, связанные с выбором CGI или модуля, не­существенны и могут быть легко решены. Кроме того, установка РНР как CGI на машинах разработчиков под Windows и одновременное применение РНР в виде модуля на веб-сервере под UNIX в большинстве случаев оказыва­ются очень




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