php는 컴파일 함수 zend_compile_file()을 호출하여 컴파일합니다. 이 기능의 구체적인 구현에는 실제로 어휘 분석(Lex 구현)과 구문 분석(Yacc 구현)이라는 두 가지 주요 프로세스가 포함됩니다. 이 함수가 실행되면: PHP 스크립트 컴파일이 완료됩니다. 이 함수의 입력은 php 스크립트 파일이고 출력은 op_array입니다. 간단히 말하면 컴파일 프로세스는 스크립트를 PHP 가상 머신이 처리할 수 있는 명령으로 구문 분석하는 것이며 op_array는 이러한 명령 중 하나일 뿐입니다. 배열(이것은 일부
컴파일된 언어를 컴파일하여 생성된 어셈블리 코드와 매우 유사하며 일련의 명령이기도 합니다).
그러면 PHP 가상 머신은 zend_execute() 함수를 호출하여 실행합니다. 이 함수의 입력은 위의 컴파일 단계에서 생성된 op_array이며, 여기서 각 명령을 구문 분석하고 처리합니다. 총 약 150개의 op 명령이 있으므로 이 150개의 명령을 처리해야 합니다. 여기서 매우 흥미로운 질문이 생깁니다. 이 150개의 명령
을 어떻게 처리합니까? 우선, 각 명령에는 처리를 위한 해당 프로세서가 있습니다. 따라서 가상 머신은 op_array의 각 명령 유형에 따라 처리를 위해 해당 프로세서에 배포됩니다.
위 내용은 PHP가 설명하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!