Как работает интерпретатор php
Перейти к содержимому

Как работает интерпретатор php

  • автор:

Возможности 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 и произвести вывод.

Перечислим эти компоненты:

  1. Lexer — это компонент, который разбирает исходный код на токены (ключевые слова, операторы, константы и т.д.).
  2. Parser — это компонент, который преобразует токены в абстрактное синтаксическое дерево (AST). AST — это структура данных, которая представляет скрипт на языке PHP в виде дерева, где каждый узел представляет собой операцию или конструкцию языка.
  3. Executor — это компонент, который выполняет инструкции, представленные в AST. Он просматривает каждый узел AST и выполняет соответствующую операцию.
  4. Zend Engine — это основной компонент интерпретатора PHP, который объединяет Lexer, Parser и Executor. Он также управляет работой с памятью, оптимизацией кода и другими внутренними аспектами языка.
  5. SAPI (Server Application Programming Interface) — это интерфейс между интерпретатором PHP и веб-сервером, который позволяет запускать скрипты на языке PHP на сервере. В PHP существует несколько различных SAPI, таких как Apache, CGI и FastCGI.

Начнем наш обзор с лексического анализатора.

Lexer (лексический анализатор) в PHP — это компонент, который преобразует исходный код на языке PHP в поток токенов. Он работает по следующему алгоритму:

  1. Получение кода на входе — Lexer получает на вход исходный код на языке PHP.
  2. Разбиение кода на лексемы — Lexer анализирует код и разбивает его на отдельные лексемы (ключевые слова, операторы, константы и т.д.).
  3. Создание токенов — Для каждой лексемы Lexer создает соответствующий токен, который содержит информацию о типе лексемы, ее значение и позиции в исходном коде.
  4. Формирование потока токенов — Lexer формирует поток токенов из созданных токенов, который передается на вход компоненту Parser для дальнейшей обработки.
  5. Обработка ошибок — В случае возникновения ошибки 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 for site

Режимы работы 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 может работать в этих основных режимах в зависимости от сервера, на котором размещена ваша услуга. Для получения более детальной информации по доступным режимам PHP на вашей услуге, обратитесь в нашу техническую поддержку по удобному каналу связи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *