Php как модуль apache или cgi
Автор DITER задал вопрос в разделе Интернет
на одном платном хостинге - php работает как CGI -- чем это лучше ?? и получил лучший ответ
Ответ от Cheery[гуру]
GGI - самый старый способ запуска скриптов (в том числе и php). В этом случае на каждый хит запускается интерпретатор php как самостоятельное приложение и ему отдаётся скрипт для запуска. Скрипт должен вернуть заголовки, затем код html страницы. После этого интерпретатор прекращает свою работу.
Модуль Apache - в этом случае php постоянно находится в памяти веб сервера, не тратится время на запуск интерпретатора.
FastCGI - эволюция CGI интерфейса, в этом случае php запускается отдельным процессом, но после выполнения скрипта не прекращает свою работу.
Как CGI, так и FastCGI работают независимо от веб сервера. А это значит что если происходит какая-то ошибка, веб сервер не получает заголовки от скрипта и возвращает нам в ответ "Ошибка 500 на стороне сервера". Чтобы узнать какая произошла ошибка, надо смотреть логи сервера, к которым далеко не всегда есть прямой доступ у пользователя. В случае модуля Apache ошибка может сразу отобразиться на экране (если включен вывод ошибок) и отладка скриптов осуществляется гораздо проще и быстрее.
В CGI/FastCGI режимах есть проблема с авторизацией HTTP, как следствие - проблема с интеграцией с 1С, есть и другие специфические проблемы.
При загрузке в Apache модуля php мы получаем замечательную возможность менять на лету некоторые настройки php через .htaccess, в CGI/FastCGI опять же получим ошибку 500.
Основной довод сторонников CGI/FastCGI - это безопасность. Т. к. php работает как отдельное приложение - пользователи хостинга на системном уровне отделены друг от друга, а в режиме модуля существует гипотетическая возможность ломать соседние сайты на хостинге. Отчасти это так, но на сегодняшний день существуют определённые механизмы защиты и по опыту техподдержки могу сказать, что основную проблему безопасности пользователей представляют трояны, которые воруют пароли ftp и вживляют паразитный код на сайты.
Хостеры часто используют CGI т. к. в этом случае гораздо удобнее управлять [читать: резать] ресурсами пользователей. И в итоге получаем "непонятные ошибки".
Выводы:
1) Выбирайте CGI режим если ваш сайт посвящён восточной философии и время загрузки страниц посетителей сайта не волнует.
2) FastCGI даёт хорошие результаты по производительности, но ему присущи проблемы CGI режима, а это постоянные ошибки сервера "500".
3) В остальных случаях рекомендую использовать php как модуль Apache. Особенно если речь идёт о выделенном сервере или VPS.
4) Обязательно обращайте внимание на акселератор php. К сожалению, многие хостеры не уделяют этому вопросу должного внимания.
5) И вот ещё важный момент: не выбирайте в качестве хостера соседа по лестничной клетке, порой элементарное неумение настроить систему приносит больше проблем, чем всё остальное. Выбирайте профессионалов.
ps: на своих выделенных серверах я предпочитаю как модуль + eAccelerator
Источник:
или апач выполняет пхп как сги скрипты или ты че то не понял или там пхп скриптам не место)
если хочешь иди ко мне на хостинг)
Это ни чем не лучше, а в некоторых случаях даже намного хуже.
Лучше всего использовать php как модуль Apache.
Что такое скрипты? И для чего они нужны? Что такое PHP скрипты?
Скриптовый язык (англ. scripting language, также называют язык сценариев) — язык программирования,
подробнее...
Хочу научиться создавать сайты! С чего начать?
Для начала нужно почитать какую-нибудь книжку по языку разметки вэб-страниц HTML и установить на
подробнее...
не заходит на сайт ЕГЭ ege.vrn.ru ошибка 502. Что это и почему?
Ошибка 502 Bad Gateway nginx. Как исправить
Эта статья поможет разобраться, почему на
подробнее...
что значит? 502 Bad Gateway nginx/1.0.4
Эта статья поможет разобраться, почему на сайтах время от времени появляется ошибка 502 Bad Gateway
подробнее...
что такое хостинг?
Хостинг - это размещение Вашего сайта на нашем сервере с предоставлением всех необходимых
подробнее...
что такое хостинг и где его взять?
Хочешь ты например дело своё открыть. А у тебя нет сервака, выделенки, опыта, и т. д. Но есть n-ое
подробнее...