PHP 소스 코드는 PHP Opcode로 컴파일되는 단계를 거칩니다. 이 아이디어는 다양한 플랫폼에서 구현되었으며, 특히 Java와 함께 사용되었습니다. 이론적으로 Opcode를 실행하는 별도의 "가상 시스템"런타임을 사용함으로써 언어 설계자는 언어를 이식성 문제와 분리 할 수 있습니다.
더 오피 코드 캐싱, 컴파일 단계와 "런타임"단계입니다 구별하지만, 당신이 소개에 "가속/opscode 캐시와 일반적인 PHP 환경에서
these Opcodes in the manual
의 목록을 찾을 수 있습니다
"APC 또는 Zend Platform 제품과 같이 이러한 과정이 별도의 단계임을 알 수 있습니다.
일단 스크립트가 PHP Opscodes로 컴파일되면 소스에서 다시 컴파일 할 필요없이 캐시에서 실행할 수 있습니다.이 단축키는 성능을 크게 향상시킬 수 있습니다.
PHP의 "런타임"측면에 초점을 맞추면 PHP의 "해석 된"특성을 볼 수 있습니다. 런타임 환경이 필요하기 때문에 원시 언어로 실행되는 c/C++와 같은 컴파일 된/링크 된 언어 운영 체제 프로그램.
PHP의 경우 PHP 프로그램은 기본 운영 체제 프로그램 (또는 기본 OS 웹 서버 모듈)입니다.
Java가 "JVM (Java Virtual Machine)"내부에서 실행되는 것과 달리 PHP의 스크립트는 PHP 내부에서 실행되므로 운영 체제가 기본적으로 수행 할 작업의 특성을 포함하지 않습니다.
@Dagon Easy there. 이 연구의 결과로 OP 권리가 [this] (http://stackoverflow.com/questions/1514676)로 이어져 반대의 결과가 나타납니다. "컴파일"이라는 용어는 여기에 약간의 미묘함이 있습니다. –
@Dagon 그 사람은 틀린 사람에게는 꽤 무례합니다. 인터프리터는 컴파일되지만 PHP 스크립트는 컴파일되지 않습니다. 자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/questions/1514676/is-php-compiled-or-interpreted – TigerBear
@Dagon 그렇게 간단하지가 않습니다. PHP를 전통적인 의미로 컴파일하는 것은 가능하지만, 그것은 결코 기본 제공 기능이 아닙니다. 편집으로 간주 될 수있는 해석 단계가 있습니다. 사실, 해석 자체는 어떤면에서 편집입니다. 그러나 중요한 차이가 있기 때문에 편집과 해석의 차이가 있습니다. – Cully