Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Избранное > mod_php vs php-cgi


Автор: DarkAngel 24.1.2007, 11:41
Мне нужно узнать вот какой вопрос
разницу между пхп , который работает как модуль к 
веб серверу, от того, который работает как cgi ?
В чем проявляется различие и как это касается тех, кто писал свои 
приложения под пхп5, работающий в режиме модуля к веб серверу?


Зарание очень благодарен.

Автор: Сумасшедший 24.1.2007, 12:55
mod_php работает несколько быстрее, чем php-cgi
При использовании php-cgi не работает изменение настроек php средствами .htaccess
php-cgi позволяет использовать свой php.ini для каждого пользователя.
pgp-cgi позволяет запускать апач для каждого пользователя под его правами.

Автор: ZeeLax 24.1.2007, 13:06
Цитата(Сумасшедший @  24.1.2007,  15:55 Найти цитируемый пост)
pgp-cgi позволяет запускать апач для каждого пользователя под его правами.

 smile php запускает apache?

Автор: DarkAngel 24.1.2007, 13:37
Ок, это приблизительно ясно, спасибо, а вот больше интересует другой(второй )вопрос, как это касается тех, кто писал свои 
приложения под пхп5, работающий в режиме модуля к веб серверу?
То есть почему один и тот же скрипт с моделем работает а с cgi нет?

Автор: Mal Hack 24.1.2007, 15:49
Цитата(Сумасшедший @  24.1.2007,  12:55 Найти цитируемый пост)
mod_php работает несколько быстрее, чем php-cgi

Не несколько, а СУЩЕСТВЕННО

Плюс, при php-cgi, php.ini "чекается" практически каждый раз при запросе на обработку скрипта, в то время, как в случае mod_php - один раз при запуске сервера.

Цитата(Сумасшедший @  24.1.2007,  12:55 Найти цитируемый пост)
php-cgi позволяет использовать свой php.ini для каждого пользователя.

Аналогично можно и для mod_php сделать, через suphp, к примеру. Хотя, ни разу не слышал, что под pgp-cgi это делали.

При использовании php-cgi большое кол-во функций не доступно.


Цитата(DarkAngel @  24.1.2007,  13:37 Найти цитируемый пост)
То есть почему один и тот же скрипт с моделем работает а с cgi нет? 

Выводи ошибки, смотри что не так.

Автор: skyboy 24.1.2007, 15:54
сама концепция cgi: сервер перенаправляет запрос "внешнему" приложению(интерпретатору ПХП) и ответ выдает в свой поток. Соотвественно, отправка заголовков(header) и работа с переменными окружения сервера(массив $_SERVER) или невозможна, или сильно зависит от поддержки сервером - потому могут быть глюки с различиями в версиях. отсюда же - и не-поддержка загрузки параметров PHP из .htaccess(этот файл имеет отношение только к серверу Апач,но не к интерпретатору). может, ещё какие проблемы с этим связаны... 

Автор: DarkAngel 24.1.2007, 17:31
Ребят вы знали что вы супер?_)))))
Спасиб большое.
Мои то скрипты всегда работают, я обычно под модом....
А это небольшой тестик прост на работе...теория так сказать....)))
Пасип)

Добавлено @ 17:32 
Пометил как решенный)

Автор: IZ@TOP 2.2.2007, 16:37
Кто ни будь слышал о FastCGI? Бросаем чистый PHP-CGI, берем lighthttpd, вырезаем оттуда spawn-phpcgi с php, вешаем демона. Nginx + PHP FastCGI = прирост при работе с базой +30-40% (для работы с файловой системой лучше модулем апача. Так что не нужно грязи - нужно уело использовать smile Кстати, при подобной схеме все будет прекрасно работать и все модули необходимые для скриптов будут работать.

Автор: Opik 11.6.2007, 14:35
IZ@TOP
Полностью солидарен, прирост колоссальный.

Автор: golotyuk 24.9.2007, 14:07
А помоему лучше таки пользоваться модулем PHP к Апачу, если у Вас заранее извенсто, что роль Web-сервера будет выполнять апач, что впринципе и имеет место у большинства хостеров. Так и быстрее и функционал шире, кроме всего прочего (можно например управлять детем Апача, которое создается при запуске php-скрипта).

Автор: req 7.11.2010, 22:55
Цитата(Mal Hack @  24.1.2007,  15:49 Найти цитируемый пост)
Цитата(Сумасшедший @  24.1.2007,  12:55 )
php-cgi позволяет использовать свой php.ini для каждого пользователя.

Аналогично можно и для mod_php сделать, через suphp, к примеру. Хотя, ни разу не слышал, что под pgp-cgi это делали.


бред абсолютный, либо я совершенно не понял что хотел сказать автор!

для mod_php этого сделать ч\з suPHP нельзя так как модуль suphp требует модели включения скриптов "как CGI"

более того (как мне кажется для mod_php этого сделать в принципе нельзя так как суть в том что в этом случае php интерпретатор включается в процесс apache и выполняется с правами пользователя от имени которых apache запущен - 100% что нельзя я не уверен, мб есть какие либо механизмы...

пруф:
Цитата
Why do my scripts not work and why do I get an "Premature end of script headers" in the error_log?
You probably have installed the CLI version of PHP, but you need the CGI version. Copy the file /build/path/sapi/cgi/php to /where/ever/you/have/installed/bin/php to use the CGI version.


http://www.suphp.org/FAQ.html

P.S. к слову проводя вторые сутки разбираясь детально в отличиях mod_php / cgi / cgid / fastcgi / fcgid
и вот подобные сообщения бесят - не знаешь на все 100% не пиши и особенно не пиши диз информацию!

Автор: alechoo 27.1.2012, 10:29
А я что то вобще не въехал можно пример какой нибуть

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)