cli(명령줄 인터페이스)는 PHP의 명령줄 모드입니다. 이제 이 SAPI는 기본적으로 서버에 설치되고 나면 일반적으로 이 파일이 /usr/local이라고 가정합니다. / bin/php, 다음 명령을 사용하여 SHELL에서 PHP 스크립트를 실행할 수 있습니다.
코드 복사 코드는 다음과 같습니다.
/usr/local/bin/php -f test.php
CLI SAPI를 예로 들어 PHP의 핵심 부분을 분석합니다. 실행. CLI는 PHP 명령줄 모드입니다. 이 SAPI는 기본적으로 설치됩니다. PHP가 서버 측에 설치된 후 실행 파일이 생성되며, 이는 셸에서 PHP 명령을 호출하여 실행할 수 있습니다.
코드 복사 코드는 다음과 같습니다.
PHP -f XX.php
실행 프로세스:
명령줄 매개변수 분석
환경 초기화,
PHP 코드 컴파일 및 실행;
환경 정리, 종료세 번째 단계에서 PHP 스크립트 실행 방법:
php_execute_script(handle_file)을 호출하여 세 번째 단계를 완료합니다. 이 함수는 최종적으로 zend_execute_scipts(...)가 호출됩니다. 이 함수는 한 번에 여러 PHP 스크립트를 실행할 수 있는 가변 매개변수 함수입니다.ps.: 그러면 이 두 Zend API 함수 포인터는 왜 있는 걸까요?
엔진이 초기화되면 zend_execute 및 zend_compile_file은 엔진이 초기화될 때 기본 방법을 가리킵니다. 컴파일 및 실행 중에 함수 포인터를 재정의하여 엔진을 확장할 수 있는 후크를 남겨둘 수 있습니다. 예를 들어, vld는 원래 함수를 캡슐화하는 자체 함수에 zend_execute 및 zend_compile_file을 지정하고 opcode 정보의 출력을 추가합니다.위 내용은 관련 측면을 포함하여 PHP 커널 탐색을 위한 인터프리터의 실행 프로세스를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.