Интерпретатор/Компилятор PHP
Я пытаюсь понять, как работает компилятор/интерпретатор php.
Я попытался загрузить исходный код php и попытался понять, как он работает. Я не смог найти соответствующую документацию. Было бы здорово, если бы кто-нибудь мог пролить свет на модули, которые делают компилятор php, а также на то, как сервер apache использует компилятор php..
1 answers
Как сказал веббидав, вы, возможно, захотите изучить основы компиляторов/интерпретаторов. Вы можете найти большую часть синтаксического анализатора и лексера в файлах Zend/zend_language_scanner.l и Zend/zend_language_parser.y
Если вы хотите понять, как работает php, я предлагаю вам установить точки останова в начале zend_execute_scripts()
в Zend\zend.c и в строке
if ((ret = EX(opline)->handler(execute_data TSRMLS_CC)) > 0)
В файле Zend\zend_vm_execute.h, а затем выполните пошаговое выполнение кода.