Как Apache общается с PHP - PullRequest
       3

Как Apache общается с PHP

0 голосов
/ 29 октября 2018

Я начал разрабатывать веб-сервер HTTP / 1.0 под Java (не для коммерческих целей, просто для развлечения). Надеюсь, это увеличит мою уверенность. Изначально я просто хотел включить поддержку PHP (только остальные API). Я почти выполнил разбор запроса, и теперь я застрял на выполнении запроса. Вот почему я хотел бы знать, как на самом деле веб-сервер, такой как Apache, взаимодействует с PHP. Было бы желательно, если вы поделитесь своим опытом, знаниями в этом отношении.

Заранее спасибо

1 Ответ

0 голосов
/ 29 октября 2018

хорошо знать, как все работает, это поможет вам понять глубинный аспект разработки и серверов.

Что касается вашего вопроса, APACHE знает, что файлы, оканчивающиеся на .php, должны быть отправлены интерпретатору PHP для его выполнения и предоставления результатов, проверьте эту анатомию запроса.

Шаг 1 Пользователь вводит https://stackoverflow.com в свой браузер и нажимает / нажимает 'enter'.

Шаг 2 Браузер отправляет запрос страницы через Интернет на веб-сервер.

Шаг 3 Веб-сервер получает запрос и анализирует информацию о запросе. Apache понимает, что мы не указали файл, поэтому он ищет индекс каталога и находит index.php.

Шаг 4 Поскольку Apache знает, что нужно отправлять файлы, которые заканчиваются расширением .php, в интерпретатор PHP, он просит PHP выполнить файл. Это знание Apache указано в файле httpd.conf, оно сообщает Apache, что делать, когда находит файлы .php.

Шаг 5 PHP Interpreter выполняет код, содержащийся в файле index.php из запроса. На этом этапе PHP может взаимодействовать с базами данных, файловой системой или выполнять внешние вызовы API, среди прочего.

Шаг 6 После того как PHP Interpreter завершил выполнение файла index.php, он отправляет вывод обратно в Apache. Обратите внимание, что вывод будет HTML.

Шаг 7 Apache получает выходные данные из PHP и отправляет их через Интернет в веб-браузер пользователя. Это называется response.

Шаг 8 Веб-браузер пользователя получает ответ от сервера и отображает веб-страницу на компьютере или устройстве.

Надеюсь, что это прольет свет на то, на чем вам следует сосредоточиться, пожалуйста, посетите https://httpd.apache.org/docs/2.4/ и проверьте, какие модули Apache использует для поиска интерпретатора PHP, также обратите внимание, что для этого вам потребуется установить PHP отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...