php - 종류 - 컴파일 언어



PHP에서 컴파일 타임과 런타임은 무엇을 의미합니까? (1)

PHP 소스 코드는 PHP Opcode로 컴파일 된 단계를 거칩니다. 이 아이디어는 다양한 플랫폼에서 구현되었으며, 특히 Java와 함께 사용되었습니다. 이론적으로 Opcode를 실행하는 별도의 "가상 시스템"런타임을 사용함으로써 언어 설계자는 언어를 이식성 문제와 분리 할 수 ​​있습니다.

이 Opcodes 목록은 설명서에서 찾을 수 있습니다

opcode 캐싱이없는 일반적인 PHP 환경에서는 컴파일 단계와 "런타임"단계를 구분할 수 없지만 APC 또는 Zend Platform 제품과 같은 "가속기 / opscode 캐시"를 도입하면 이러한 것들이 과정에서 별도의 단계.

스크립트가 PHP Opscodes로 컴파일되면 소스에서 다시 컴파일 할 필요없이 캐시에서 실행할 수 있습니다.이 단축키는 성능을 크게 향상시킵니다.

PHP의 "런타임"측면에 초점을 맞춘다면 원시 운영 체제 프로그램으로 실행되는 c / c ++와 같은 컴파일 / 링크 된 언어와 비교할 때 런타임 환경이 필요하기 때문에 PHP의 "해석 된"특성을 볼 수 있습니다.

PHP의 경우, PHP 프로그램은 원시 운영 체제 프로그램 (또는 원시 OS 웹 서버의 모듈로 기본)입니다.

Java가 "JVM (Java Virtual Machine)"내부에서 실행되는 방식과 달리 PHP의 스크립트는 PHP 내부에서 실행되므로 운영 체제가 기본적으로 수행 할 작업의 특성을 포함하지 않습니다.

이 질문에는 이미 답변이 있습니다.

PHP는 컴파일 된 언어가 아니며 컴파일되지 않습니다. 그러나 나는 컴파일 타임에 PHP에서 일어나는 일들을 언급하는 책을 보았고, PHP 매뉴얼은 컴파일 타임에 const가 선언된다는 것을 말한다. PHP가 컴파일되지 않았기 때문에 PHP와 관련하여 컴파일 타임이란 용어는 어떻게 사용됩니까?

"스크립트를 읽고 해석기 서브 루틴으로 변환 할 때"라는 의미 일 경우 컴파일 타임과 런타임이라는 용어의 차이점은 무엇입니까?





compile-time