Возможности PHP
PHP может все. Главная область применения PHP — написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять все то, что выполняет любая другая программа CGI, например, обрабатывать данные форм, генерировать динамические страницы или отсылать и принимать cookies. Но PHP способен выполнять намного больше.
- Создание скриптов для выполнения на стороне сервера. PHP традиционно и наиболее широко используется именно таким образом. Для этого вам будут необходимы три вещи. Интерпретатор PHP (в виде программы CGI или серверного модуля), веб-сервер и браузер. Для того чтобы можно было просматривать результаты выполнения PHP-скриптов в браузере, нужен работающий веб-сервер и установленный PHP. Просмотреть вывод PHP-программы можно в браузере, получив PHP-страницу, сгенерированную сервером. В случае, если вы просто экспериментируете, вы вполне можете использовать свой домашний компьютер вместо сервера. За более подробными сведениями обратитесь к главе Советы по установке.
- Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться без сервера или браузера. Все, что вам потребуется — парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (Task Scheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. За дополнительной информацией обращайтесь к главе Использование PHP в среде командной строки.
- Создание оконных приложений, выполняющихся на стороне клиента. Возможно, PHP является не самым лучшим языком для создания подобных приложений, но, если вы очень хорошо знаете PHP и хотели бы использовать некоторые его возможности в своих клиентских приложениях, вы можете использовать PHP-GTK для создания таких приложений. Подобным образом вы можете создавать и кросс-платформенные приложения. PHP-GTK является модулем PHP и не поставляется вместе с основным дистрибутивом PHP. Если вы заинтересованы, посетите » сайт PHP-GTK.
PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие как HP-UX, Solaris и OpenBSD), Microsoft Windows, macOS, RISC OS и многие другие. Также в PHP включена поддержка большинства современных веб-серверов, таких как Apache, IIS и многих других. В принципе, подойдёт любой веб-сервер, способный использовать бинарный файл FastCGI PHP, например, lighttpd или nginx. PHP может работать в качестве модуля или функционировать в качестве процессора CGI.
Таким образом, выбирая PHP, вы получаете свободу выбора операционной системы и веб-сервера. Более того, у вас появляется выбор между использованием процедурного или объектно-ориентированного программирования (ООП) или же их сочетания.
Использование PHP не ограничивается выводом HTML. Возможности PHP включают вывод файлов различных типов, таких как изображения или PDF-файлы, шифрование данных и отправку электронной почты. Вы также можете легко выводить любой текст, например JSON или XML. PHP может автоматически генерировать эти файлы и сохранять их в файловой системе вместо вывода на печать, формируя серверный кеш для динамического содержимого.
Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. Создать скрипт, использующий базы данных, — невероятно просто. Можно воспользоваться модулем, специфичным для отдельной базы данных (таким как mysql) или использовать уровень абстракции от базы данных, такой как PDO, или подсоединиться к любой базе данных, поддерживающей Открытый Стандарт Соединения Баз Данных (ODBC), с помощью одноимённого модуля ODBC. Для других баз данных, таких как CouchDB, можно воспользоваться cURL или сокетами.
PHP также поддерживает взаимодействие с другими сервисами через такие протоколы, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многих других. Кроме того, вы получаете возможность работать с сетевыми сокетами напрямую. PHP поддерживает стандарт обмена сложными структурами данных WDDX практически между всеми языками веб-программирования. Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP.
PHP имеет много возможностей по обработке текста, включая регулярные выражения Perl (PCRE) и много других модулей и инструментов для обработки и доступа к XML-документам. В PHP обработка XML-документов стандартизирована и происходит на базе мощной библиотеки libxml2, расширив возможности обработки XML добавлением новых модулей SimpleXML, XMLReader и XMLWriter.
Есть ещё много других интересных модулей, которые можно просмотреть как в алфавитном порядке, так и по категориям. Есть ещё много дополнительных модулей PECL, которые также могут (а могут и нет) быть документированы в данном руководстве, такие как » XDebug.
Как вы видите, этой страницы не хватит для того, чтобы перечислить все, что может предложить вам PHP. Читайте следующую главу, Установка PHP и обратитесь к главе Справочник по функциям за более подробными сведениями о перечисленных выше модулях.
Интерпретатор PHP: а что там внутри…
Если совсем просто, интерпретатор PHP — это программа, которая выполняет скрипты на языке PHP. Он состоит из нескольких компонентов, которые работают вместе, чтобы обработать скрипт PHP и произвести вывод.
Перечислим эти компоненты:
- Lexer — это компонент, который разбирает исходный код на токены (ключевые слова, операторы, константы и т.д.).
- Parser — это компонент, который преобразует токены в абстрактное синтаксическое дерево (AST). AST — это структура данных, которая представляет скрипт на языке PHP в виде дерева, где каждый узел представляет собой операцию или конструкцию языка.
- Executor — это компонент, который выполняет инструкции, представленные в AST. Он просматривает каждый узел AST и выполняет соответствующую операцию.
- Zend Engine — это основной компонент интерпретатора PHP, который объединяет Lexer, Parser и Executor. Он также управляет работой с памятью, оптимизацией кода и другими внутренними аспектами языка.
- SAPI (Server Application Programming Interface) — это интерфейс между интерпретатором PHP и веб-сервером, который позволяет запускать скрипты на языке PHP на сервере. В PHP существует несколько различных SAPI, таких как Apache, CGI и FastCGI.
Начнем наш обзор с лексического анализатора.
Lexer (лексический анализатор) в PHP — это компонент, который преобразует исходный код на языке PHP в поток токенов. Он работает по следующему алгоритму:
- Получение кода на входе — Lexer получает на вход исходный код на языке PHP.
- Разбиение кода на лексемы — Lexer анализирует код и разбивает его на отдельные лексемы (ключевые слова, операторы, константы и т.д.).
- Создание токенов — Для каждой лексемы Lexer создает соответствующий токен, который содержит информацию о типе лексемы, ее значение и позиции в исходном коде.
- Формирование потока токенов — Lexer формирует поток токенов из созданных токенов, который передается на вход компоненту Parser для дальнейшей обработки.
- Обработка ошибок — В случае возникновения ошибки Lexer создает соответствующее исключение, которое передается на уровень выше для обработки.
Для примера работы лексера можно рассмотреть следующий код на языке PHP:
После применения лексера к этому коду получится поток токенов, который можно представить в виде таблицы:
| Тип токена | Значение | Позиция в коде |
|---|---|---|
| T_FUNCTION | function | 1:1 |
| T_WHITESPACE | 1:10 | |
| T_STRING | helloWorld | 1:11 |
| T_OPEN_PAREN | ( | 1:21 |
| T_VARIABLE | $name | 1:22 |
| T_CLOSE_PAREN | ) | 1:27 |
| T_WHITESPACE | 1:28 | |
| T_OPEN_CURLY | 2:1 | |
| T_WHITESPACE | 2:2 | |
| T_ECHO | echo | 3:5 |
| T_WHITESPACE | 3:9 | |
| T_CONSTANT_EN | «Hello, „ | 3:10 |
| T_CONCAT_EQUAL | . | 3:18 |
| T_VARIABLE | $name | 3:20 |
| T_CONCAT_EQUAL | . | 3:24 |
| T_CONSTANT_EN | “!» | 3:26 |
| T_SEMICOLON | ; | 3:27 |
| T_WHITESPACE | 4:1 | |
| T_CLOSE_CURLY | > | 5:1 |
Каждый токен имеет свой тип, значение и позицию в исходном коде. Например, первый токен имеет тип T_FUNCTION, значение function и позицию 1:1 (1 строка, 1 символ), а последний токен имеет тип T_CLOSE_CURLY, значение >, и позицию 5:1 (5 строка, 1 символ).
Поток токенов, полученный после работы лексера, затем передается на вход компоненту Parser для дальнейшей обработки и выполнения скрипта.
продолжение следует.
Как работает интерпретатор php
Reg.ru: домены и хостинг
Крупнейший регистратор и хостинг-провайдер в России.
Более 2 миллионов доменных имен на обслуживании.
Продвижение, почта для домена, решения для бизнеса.
Более 700 тыс. клиентов по всему миру уже сделали свой выбор.
Бесплатный Курс «Практика HTML5 и CSS3»
Освойте бесплатно пошаговый видеокурс
по основам адаптивной верстки
на HTML5 и CSS3 с полного нуля.
Фреймворк Bootstrap: быстрая адаптивная вёрстка
Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.
Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.
Верстайте на заказ и получайте деньги.
Бесплатный тренинг «PHP для Создания Сайтов: Введение»
Что нужно знать для создания PHP-сайтов?
Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.
Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!
—> Бесплатный курс «Сайт-Визитка За 15 уроков»
Создайте свой сайт за 3 часа и 30 минут.
После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.
Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).
—> Бесплатный курс «Основы HTML и CSS»
Изучите основы HTML и CSS менее чем за 4 часа.
После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.
Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.
Бесплатный курс «Сайт на WordPress»
Хотите освоить CMS WordPress?
Получите уроки по дизайну и верстке сайта на WordPress.
Научитесь работать с темами и нарезать макет.
Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!
Бесплатный курс «Основы работы с JavaScript»
Хотите изучить JavaScript, но не знаете, как подступиться?
После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.
Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.
*Наведите курсор мыши для приостановки прокрутки.
Основы основ PHP: обзор для начинающих
PHP на протяжении многих лет стабильно находится с списке наиболее популярных языков программирования и веб-разработки. Конечно, есть и другие языки, однако повсеместное распространение сайтов на основе движка WordPress во многом послужило дополнительным толчком к еще большему росту популярности данного языка.
Что такое PHP?
PHP расшифровывается как Hypertext PreProcessor (что-то вроде «преобработчик HTML»).
Что это означает? Начнем немного издалека: есть два типа языков. Один тип называется «клиентским», а другой — «серверным».
Это значит, что клиентские языки работают в браузере каждого конкретного человека. Типичным представителем клиентских языков является JavaScript, о котором Вы наверняка слышали и результат работы которого не раз видели.
Если Вы хотите больше узнать о JavaScript, то ознакомьтесь с материалом Основы JavaScript — часть 1.
Все действия и команды, которые мы задаем, скажем, на языке JavaScript, выполняются браузером, что означает, что один и тот же код, написанный нами, обрабатывается в одном случае браузером Internet Explorer, в другом — Firefox, в третьем — Opera, в четвертом — Google Chrome, т.е. тем обозревателем, который использует каждый конкретный человек для просмотра нашей страницы.
Браузер, таким образом, имеет альтернативное название — клиент.
В случае с серверными языками (к которым и относится PHP) мы наблюдаем другую картину.
Наш сайт всегда расположен на каком-либо сервере, т.е. мощном компьютере, специально предназначенном для размещения на нем сайтов многих людей.
Все команды и скрипты, написанные на языке PHP, выполняются именно на сервере, и никак иначе. После того, как PHP-скрипт выполнится на сервере, сервер «отдает» результат своей работы, который мы и видим в браузере.
Здесь важно понимать следующий момент: по исходному коду веб-страницы, который можно посмотреть в любом браузере через опцию вроде «Исходный код страницы» нельзя определить, использовался ли язык PHP для создания данной страницы, или нет.
Невозможно это сделать как раз потому, что PHP-скрипты обрабатываются на сервере, а в браузер передается уже готовый, обработанный вариант. По сути, только HTML-код.
Разница по сравнению с обычными статичными HTML-страницами заключается в одном дополнительном этапе обработки кода.
В случае с HTML-страницей есть только один этап: браузер обрабатывает HTML-код, т.е. разметку страницы в соответствии с определенными правилами, в результате чего мы и видим веб-страницу в нормальном виде.
В случае с PHP-страницей есть два этапа: сначала так называемый PHP-интерпретатор (обработчик) производит выполнение PHP-кода (в результате этого получается простой HTML-код), а после этого уже браузер обрабатывает результат этой обработки, т.е., по сути, выполняется тот самый этап, который является единственным в случае с HTML-страницей.
Вообще PHP прекрасно работает в паре с HTML. Более того, в HTML-код можно делать вставки PHP-кода, а с помощью PHP выводить HTML-разметку. Важно запомнить следующий простой момент: Не имеет значения, насколько сложен Ваш PHP-код, в конечно итоге «на выходе» он станет обычным HTML.
Для чего использовать PHP?
HTML на 100% статичен. Встраивая же в наши страницы PHP-код, мы можем добиться того, чтобы содержимое одной и той же страницы было различно в зависимости от определенных условий (динамические страницы). За долгие годы своего существования язык PHP зарекомендовал себя как великолепное решение для создания динамических веб-сайтов.
Похож ли PHP на другие языки?
Да. PHP похож на ASP.NET, Perl, JavaScript, C#. Возможно, сейчас Вы и не знаете ни одного из них, однако изучение PHP позволит Вам в будущем с большей уверенностью овладевать и другими языками.
Что нужно, чтобы начать?
Для полноценной работы с PHP на Вашем компьютере нужны следующие вещи:
1. Веб-сервер Apache (он используется в большинстве случаев);
2. Система Управления Базами Данных (СУБД) MySQL (в базе данных хранится наполнение сайта);
3. Установленный интерпретатор PHP;
4. Текстовый редактор, в котором Вы будете писать код;
5. Браузер.
Теперь чуть подробнее о первых трех пунктах.
1. Веб-сервер предназначен для имитации на Вашем компьютере того самого сервера, на котором потом будет размещаться Ваш сайт уже на хостинге в Интернет. Это нужно для того, чтобы у себя на компьютере Вы могли писать любые PHP-скрипты и смотреть, как они работают, вносить в них изменения и правки. Одним словом, это необходимо для так называемой отладки.
2. СУБД MySQL нужна для хранения информации, которая будет на Вашем сайте. В случае с HTML-страницами все содержимое сайта находится непосредственно в них. Каждая страница содержит определенный объем информации (контента).
При использовании PHP для целей хранения полезного информационного наполнения сайта используется, как правило, база данных. В подавляющем большинстве случаев это MySQL.
3. Интерпретатор PHP — это своеобразная программа, которая осуществляет обработку PHP-кода на веб-сервере. Без него мы никак не сможем выполнить наши PHP-скрипты и увидеть результат их работы.
Как же установить все эти компоненты на компьютер?
Существует хорошее решение, которое значительно упрощает этот процесс и не требует от Вас никаких знаний в области настройки веб-сервера, MySQL и PHP-интерпретатора.
Это специальный набор Denwer, в который уже включены все три компонента. Он устанавливается на компьютер как обычная программа и готов к работе без предварительных настроек.
Denwer является идеальным решением в подавляющем большинстве случаев, а для новичков он будет и вовсе спасительной палочкой, так как позволяет приступить к разработке сайтов на PHP без необходимости изучать кучу дополнительной информации по настройке веб-сервера, СУБД MySQL и интерпретатора PHP.
Посмотреть видеоурок по установке и основам работы с Denwer Вы можете здесь: Denwer — установка и основы работы.
Основы
Для того, чтобы сообщить серверу о том, что надо произвести обработку PHP-кода, необходимо использовать следующий синтаксис при добавлении PHP в HTML-документ:
Открытие блока PHP-кода обозначается как «, а закрытие — «?>». Теперь изменим наш код следующим образом:
Обратите внимание, что в данном примере мы написали все в одну линию. Пробелы и переводы строк не играют здесь роли и не окажут влияния на конечный результат.
В примере мы даем серверу команду echo (команда для вывода информации на экран) и указываем, что мы хотим вывести на экран фразу Это PHP в действии. Каждая команда в PHP отделяется от предыдущей знаком точки с запятой в конце этой команды.
PHP более строг к четкому соблюдению синтаксиса и не простит Вам отсутствие точки с запятой, скобки, кавычки и т.п., как это могло бы быть в случае с HTML. PHP в этом случае выдаст сообщение о синтаксической ошибке, которую нужно исправить и укажет строку, где эта ошибка была допущена.
Кстати, в данном случае мы могли и не использовать точку с запятой в конце команды, так как она у нас в данном случае единственная (команда). Однако лучше всегда придерживаться хороших практик при работе с кодом.
Объявление переменных
Переменная в PHP — это своеобразный контейнер, который может содержать определенную информацию. Для того, чтобы создать такой «контейнер», нам нужно его назвать и указать, что в нем должно «лежать». Делается это с помощью знака «$», который означает, что мы имеем дело с переменной. Давайте занесем в переменную с именем test фразу Это PHP в действии.
Результат обработки этот кода будет точно таким же, как и в предыдущем примере. На экран просто будет выведена фраза Это PHP в действии. Однако до этого мы напрямую выводили эту фразу, а сейчас занесли эту фразу в переменную test, после чего дали команду вывести на экран уже значение переменной test.
Каким образом мы можем добавить еще какой-нибудь текст или иную информацию для вывода на экран?
Давайте рассмотрим это на следующем примере:
Как Вы видите, после вывода переменной test идет пробел, затем точка, затем снова пробел. После этого открываются кавычки, сначала идет один пробел, а затем — предложение Меня зовут Дмитрий Науменко., после чего закрываются кавычки.
Давайте пройдем по шагам и посмотрим, что и для чего здесь нужно.
После вывода переменной test мы как бы «прибавляем» к уже существующему выводу дополнительный текст. Делается это с помощью символа точки (.).
Символ точки означает в PHP сложение, но не сложение чисел, а сложение именно текстовой информации, вроде той, с которой мы и работаем. После точки мы указываем в кавычках, что именно мы хотим добавить к выводу, и пишем новое предложение.
Обратите внимание на то, что после открытия кавычек идет пробел. При выводе на экран он будет сохранен, благодаря чему у нас не сольются наши фразы. Т.е. мы получим вы выходе:
Это PHP в действии. Меня зовут Дмитрий Науменко.
Если же убрать тот пробел, то получится:
Это PHP в действии.Меня зовут Дмитрий Науменко.
Также хочу обратить Ваше внимание на пробелы с двух сторон от точки, производящей сложение. Эти пробелы не играют никакой роли и используются только для наглядности и удобства восприятия. Следующий код выдаст нам точно такой же результат:
Поэтому пишите так, как Вам в данном случае удобнее.
Вставка комментариев в код
Первый вопрос — «Для чего они вообще нужны?»
Нужны комментарии для того, чтобы Вы в своем или чужом коде могли делать пометки, примечания, пояснения и т.п. в ходе работы с кодом. Это сейчас Вам кажется, что все понятно и очевидно. Пока Вы отлично помните, зачем нужна эта переменная и что делает вон та функция.
Пройдет не так много времени и без комментариев Вы едва ли сможете разобраться даже в своем собственном коде, не говоря уже о чужих скриптах. Поэтому грамотное использование комментариев — насущная необходимость.
В PHP используются, как правило, два вида комментариев:
Разумеется, комментарии действуют лишь в пределах блоков PHP-кода и ?>.
Выводим HTML с помощью PHP
Как я уже упоминал ранее, PHP и HTML отлично работают вместе. То, что мы находимся внутри блока PHP-кода, еще не говорит о том, что мы не можем вывести на экран текст в параграфе или в жирном начертании.
Как Вы уже догадались, результатом работы этого кода будет вывод в браузер данной строки в жирном начертании.
Создаем первую функцию
Прежде всего, несколько слов о том, что такое функция.
Функция — это своеобразная мини-программа, которая выполняет некую полезную работу и выдает нам результат.
Функции имеет смысл использовать в тех случаях, когда нужно производить однотипные, шаблонные действия. В этом случае мы пишем такую мини-программу, что значительно уменьшает объем кода и, соответственно, наших усилий.
Синтаксис при создании функции следующий:
Скажем, если мы хотим написать функцию, подсчитывающую сумму чисел 10 и 5, мы можем сделать так:
Мы создаем функцию с именем sum и в ее теле указываем, что она должна вывести на экран сумму чисел 10 и 5. После этого мы вызываем функцию sum. Вызов функции по сути означает ее выполнение.
В данном примере мы не используем никаких аргументов (см. синтаксис функции выше). Что такое аргументы и для чего они нужны, мы рассмотрим непосредственно на примере. Модифицируем тот код, что у нас есть, сделав его более гибким и функциональным:
sum(10, 5); ?>
Теперь при создании функции sum мы указываем в скобках через запятую два аргумента — $slagaemoe1 и $slagaemoe2. В теле же функции мы складываем и выводим на экран не конкретные цифры, а значения переменных $slagaemoe1 и $slagaemoe2 (т.е. этих самых аргументов).
Теперь нам нужно просто вызвать функцию, при этом передав ей в скобках два аргумента, которые она «ожидает». Мы указываем цифры 10 и 5, в результате чего получаем 15. Передав функции sum другие числа мы, разумеется, получим другой ответ.
Надеюсь, что данный обзор помог Вам понять, что такое PHP и для чего он нужен, какие преимущества он имеет перед статичным HTML и как можно использовать некоторые из его простейших возможностей.
P.S. Хотите двигаться дальше в освоении PHP? Обратите внимание на премиум-уроки по различным аспектам сайтостроения, включая программирование на PHP, а также на бесплатный курс по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить этот мощный язык веб-разработки:
Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!
Какие есть режимы работы PHP?
Веб-серверы обрабатывают php-скрипты в разных режимах. Если подобрать подходящий вариант взаимодействия между PHP и веб-сервером на вашем сайте, то это однозначно положительно повлияет на производительность работы в целом. В этой статье описаны популярные режимы PHP.

Режимы работы PHP включают:
- PHP как модуль Apache
- CGI
- SuPHP
- FastCGI
- LSPHP.
PHP как модуль Apache (mod_php) — специальный режим, в основе которого подключение модуля mod_php в настройках веб-сервера Apache. Это означает, что все происходящие процессы включают данный модуль в себя. Однако этот режим рекомендуют использовать для интернет-ресурсов с небольшой посещаемостью. Среди основных преимуществ выделяются специальные настройки кэширования, именно благодаря им увеличивается производительность. Также данный режим PHP способствует быстрому выполнению скриптов, что является существенным плюсом в работе.
SuPHP — режим php, в котором каждый php скрипт может выполняться с прерогативами разных пользователей. Среди плюсов данного режима можно выделить:
- возможности отслеживания имени пользователя, который запустил скрипт.
- скрипты может запускать только тот пользователь, который является их владельцем.
- для загруженных файлов через сайт, владельцем устанавливается тот, кто загружал файлы.
LSPHP (LiteSpeed PHP) — режим, в основе которого модуль mod_lsapi на веб-сервере Apache. Однозначно, это производительный вариант запуска PHP на сервере с популярной панелью управления сPanel.
Основные преимущества этого режима:
- быстрая обработка PHP-скриптов, что положительно влияет на скорость работы сайта.
- исчезновение 500-ой ошибки, если присутствует php_flag и подобные директивы в файле .htaccess.
- уменьшение потребление ресурсов на вашем сервере.
- улучшения качества работы Opcode Cache.
PHP в режиме CGI — в основе этого режима запуск интерпретатора php-cgi для скриптов с установленным CGI в качестве обработчика. Если в основном сайт из статистического контента, то данный режим станет отличным вариантом, так как экономно использует ОЗУ. Это происходит из-за того, что интерпретатор работает только в случаях необходимости. Но также данный метод влечет за собой замедление, ведь на каждый запрос происходит загрузка интерпретатора в память.
Среди преимуществ выделим следующие: CGI запускается с правами любого пользователя системы (suexec). Для каждого пользователя возможна подборка индивидуальных параметров PHP. PHP интерпретатор работает как независимый процесс, поэтому шанс поломки работы Apache из-за ошибок в скриптах минимальная. В итоге каждый пользователь может выбрать индивидуальную версию PHP для дальнейшей работы.
PHP в режиме FastCGI (mod_fastcgi) — еще один режим php, который, по-сути. является чем-то средним между mod_php и CGI режимами.
Если FastCGI включен, то в ОЗУ серверной машины постоянно размещается запущенный процесс-обработчик. В таком случае нет необходимости при каждом запросе запускать новый процесс, в отличии от использования CGI. Если сравнивать быстроту работы FastCGI и mod_php, то она аналогична. Если говорить о преимуществах режима FastCGI, то это совокупность плюсов всех выше перечисленных режимов. Запуск Php-обработчика происходит на постоянной основе, поэтому для каждого запроса не нужно создавать новый процесс. Режим FastCGI — отличное решение для проектов с постоянной высокой нагрузкой.
Плюсы режима FastCGI:
- улучшения производительности с помощью кэширования;
- запуск скриптов от имени их владельца;.
- минимальный риск зависания.
Как определить режим PHP?
Для этого на вашем хостинге создайте специальный php-файл с любым именем, к примеру, info.php, далее откройте его и отредактируйте, вставив в него строки:
После сохранения откройте данный файл через веб-браузер. В результате вы получите всю информацию об установленном PHP. В специальной строке Server API будет отображен режим PHP (как на скриншоте):

Требования сайта и доступные серверные ресурсы напрямую влияют на выбор режима PHP. На виртуальном хостинге от ГиперХост интерпретатор PHP может работать в этих основных режимах в зависимости от сервера, на котором размещена ваша услуга. Для получения более детальной информации по доступным режимам PHP на вашей услуге, обратитесь в нашу техническую поддержку по удобному каналу связи.