Как именно выполняется скрипт PHP?

Я просто подумал про себя: "Как именно выполняется скрипт PHP?" Я думал, что сначала он был проанализирован на предмет синтаксических ошибок и т. Д., А затем интерпретирован и выполнен.

Однако я не знаю, почему я считаю, что это правильно. Я наверное не прав.

Итак, как именно интерпретируется и выполняется PHP-файл? Какие этапы это включает? Как включенные файлы вписываются в разбор скрипта?

Это просто, чтобы помочь мне обдумать это. Я заинтересован и не могу найти хороший ответ с Google.

3 ответа

PHP является компилируемым языком начиная с PHP 4.0

Идея о том, что такое компилятор, кажется предметом, который вызывает большую путаницу. Некоторые люди предполагают, что компилятор - это программа, которая преобразует исходный код на одном языке в исполняемую программу. Определение того, что такое компилятор, на самом деле шире, чем это.

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

PHP стал скомпилированным языком в 2000 году, когда PHP 4 был выпущен впервые. До версии 3 исходный код PHP анализировался и сразу выполнялся интерпретатором PHP.

PHP 4 представил движок Zend. Этот механизм разбивает обработку PHP-кода на несколько этапов. На первом этапе выполняется синтаксический анализ исходного кода PHP и генерируется двоичное представление кода PHP, известного как коды операций Zend. Коды операций - это наборы инструкций, аналогичные байт-кодам Java. Эти коды операций хранятся в памяти. Второй этап обработки движка Zend состоит в выполнении сгенерированных кодов операций.

Для получения дополнительной информации перейдите по http://www.phpclasses.org/blog/post/117-PHP-compiler-performance.html

По сути, каждый раз, когда PHP-скрипт загружается, он проходит в два этапа:

  • Исходный код PHP анализируется и преобразуется в так называемые коды операций
    • Вид эквивалента байт-кода JAVA
    • Если вы хотите увидеть, как они выглядят, вы можете использовать расширение VLD
  • Затем эти коды выполняются

Эти слайды от Себастьяна Бергмана, на слайде, могут помочь вам понять этот процесс немного лучше: PHP Internals Internals

Вот также список всех токенов парсера.

как разбирается php код?

1: запуск с сервера (WAMP)

2: - перейти в папку каталога WWW

3:- выберите файл.php

4:- двойной щелчок по файлу и запуск файла php в браузере по умолчанию.

Другие вопросы по тегам