Интерпретатор PHP Opcache

Моя информация:

PHP - это язык программирования, использующий интерпретатор.

Интерпретатор - это скомпилированное программное обеспечение между исходным кодом и машиной.

Он читает и анализирует исходный код во время выполнения и запускает свои собственные подпрограммы на основе исходного кода.

Это не компиляция или перевод кода во что-то новое, которое можно было бы сохранить, потому что это своего рода выполнение кода.

Opcache от Zend может хранить предварительно скомпилированный байт-код и использовать его снова. (Я знаю, как это вообще работает.)

http://www.sitepoint.com/understanding-opcache/

Мой вопрос:

Откуда Opcache получает свои предварительно скомпилированные сценарии, когда интерпретатор не компилируется?


person Kevin Lapinski    schedule 13.11.2015    source источник


Ответы (1)


Это не компиляция или перевод кода во что-то новое, которое можно было бы сохранить, потому что это своего рода выполнение кода.

Это неверно. Первым делом интерпретатор компилирует исходный код PHP в исполняемый формат байт-кода, который затем выполняется.

Это мало чем отличается от того, что делают .NET и Java, за исключением того, что они делают это заранее, тогда как PHP делает это по запросу во время выполнения скрипта.

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

person Atli    schedule 13.11.2015