>  기사  >  백엔드 개발  >  ZendOpcache를 설치하고 구성하는 방법

ZendOpcache를 설치하고 구성하는 방법

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-07-23 09:17:311829검색

PHP 개발팀을 운영하는 회사인 Zend는 최근 PHP 가속 제품인 Zend Optimizer를 오픈 소스로 공개했습니다. 새 프로젝트는 Github에서 호스팅되며 프로젝트 이름은 ZendOptimizerPlus입니다. 오늘은 ZendOpcache에 대해 이야기하겠습니다.

ZendOpcache를 설치하고 구성하는 방법

소개

Zend Optimizer +는 opcode를 캐싱하고 최적화하여 PHP 실행 속도를 향상시킵니다. 이 작업을 통해 디스크에서 읽을 필요가 없습니다. 또한, 코드 실행 속도를 높이기 위해 소량의 바이트코드 최적화 모드도 제공합니다.

Applicability

Zend Optimizer +의 현재 버전은 PHP 5.2.*, 5.3에 적합합니다. *, 5.4.* 및 PHP-5.5 개발 버전 브랜치. PHP 5.2에 대한 지원은 향후 제거될 수 있습니다.

Installation

먼저 Zend Optimizer +:

http://pecl.php.net/package/ZendOpcache

소스 코드를 다운로드하세요. 7.0 .1 베타 버전, 다운로드 및 압축 풀기, 컴파일:

wget http://pecl.php.net/get/zendopcache-7.0.1.tgz
tar xzf zendopcache-7.0.1.tgz
cd zendopcache-7.0.1
phpize
./configure --with-php-config=/path_to_php_bin/php-config
make
make install

Configurationphp.ini 편집

zend_extension=/...full_path.../opcache.so
#以下是开发组推荐配置
opcache.memory_consumption=128     
opcache.interned_strings_buffer=8     
opcache.max_accelerated_files=4000     
opcache.revalidate_freq=60     
opcache.fast_shutdown=1     
opcache.enable_cli=1

PHP CGI 또는 Apache를 다시 시작하세요.

구성 매개변수에 대한 자세한 설명

  • opcache.enable (기본값: 1)

    Zend Optimizer + 스위치, 꺼지면 더 이상 코드가 최적화되지 않습니다.

  • opcache.memory_consumption(기본값: 64)

    Zend Optimizer + 공유 메모리 크기, 프리셋 수 전체 컴파일된 PHP 코드에 저장할 수 있습니다. (단위: MB)

  • opcache.interned_strings_buffer(기본값: 4)

    Zend Optimizer+에서 인턴된 문자열이 차지하는 총 메모리(단위: MB)

  • opcache.max_accelerated_files(기본값: 2000)

    Zend Optimizer + 해시 테이블의 최대 키 수(스크립트 파일은 키와 일치해야 하므로 캐시가 허용되는 최대 파일 수여야 합니다). 이 값은 실제로는 소수 목록 {223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987}에서 설정 값보다 큰 첫 번째 숫자입니다. 값 설정 범위: 200 – 100000

  • opcache.max_wasted_percentage(기본값: 5)

    "낭비된" 메모리가 이 값에 해당하는 백분율에 도달하면 다시 시작 일정이 시작됩니다.

  • opcache.use_cwd(기본값 : 1)

    이 명령을 활성화하면 Zend Optimizer+는 현재 작업 디렉터리의 이름을 스크립트 키에 자동으로 추가하여 동일한 이름을 가진 파일 간의 키-값 명명 충돌을 제거합니다. 이 명령을 끄면 성능이 향상되지만, 기존 애플리케이션에 손상을 줄 수 있습니다.

  • opcache.validate_timestamps (기본값: 1)

    비활성화되면 파일 시스템 변경 사항을 적용하려면 Zend Optimizer+를 수동으로 재설정하거나 웹 서버를 다시 시작해야 합니다. "opcache.revalidate_freq" 지시어에 의해 결정됩니다. ” Control.

  • opcache.revalidate_freq(기본값: 2)

    공유 메모리 할당을 변경하기 위해 파일 타임스탬프를 확인하는 빈도(초)입니다. 초당 한 번 확인을 의미하지만 "0"은 항상 확인을 의미합니다.

  • opcache.revalidate_path

    (기본값: 0)파일 검색이 비활성화된 경우 파일 검색 최적화를 활성화 또는 비활성화합니다. 그리고 캐시된 파일은 동일한 include_path에서 찾을 수 있으며, 더 이상 파일 검색이 진행되지 않습니다. 따라서, include_path에 같은 이름의 파일이 있으면 이 최적화가 영향을 미치는 경우 검색되지 않습니다. 그러면 기본적으로 지시어가 비활성화되어 최적화가 활성화됩니다.

  • opcache.save_comments

    (기본값: 1)비활성화되면 모든 문서 댓글이 제거됩니다. "문서 주석"을 비활성화하면 일부 기존 애플리케이션 및 프레임워크(예: Doctrine, ZF2, PHPUnit)가 중단될 수 있습니다.

  • opcache.load_comments

    (기본값: 1) 비활성화하면 SHM(공유 메모리)에서 PHP 문서 주석을 읽을 수 없습니다. "문서 주석"은 계속 저장되지만(save_comments=1) 애플리케이션에서 주석을 읽을 필요가 없으므로 사용되지 않습니다.

  • opcache.fast_shutdown
  • (기본값: 0)

    활성화되면 빠른 종료 대기열이 코드 속도를 높이는 데 사용됩니다. 빠른 종료 대기열은 할당된 각 블록을 해제하지 않고 대신 Zend 엔진 메모리 관리자가 수행하도록 합니다.

  • opcache.enable_file_override
  • (기본값: 0)

    최적화 기능이 파일 존재(file_exists 등)를 재정의할 수 있도록 허용합니다.

  • opcache.optimization_level
  • (기본값: 0xffffffff)

    각 비트가 해당 캐시 패스를 허용하거나 비활성화하는 비트마스크

  • opcache.inherited_hack
  • (기본값: 1)

    이 해킹을 활성화하면 "클래스를 다시 선언할 수 없음" 오류를 일시적으로 해결할 수 있습니다. Zend Optimizer +는 상속을 사용하여 DECLARE_CLASS opcode가 저장되는 곳입니다(이것은 PHP에서 실행할 수 있는 유일한 opcode이지만 최적화로 인해 발생할 수도 있습니다). 클래스를 찾을 수 없고 실행할 수 없습니다.) 파일을 읽을 때 최적화 프로그램은 현재 환경을 통해 상속된 클래스를 바인딩하려고 시도합니다. 이 문제는 현재 스크립트에 DECLARE_CLASS opcode가 필요하지 않을 수 있다는 것입니다. 스크립트 최소한 클래스 정의 작업을 완료하려면 opcode가 필요하며, 이 명령은 기본적으로 비활성화되어 있으며 이는 PHP 5.3 이상에서는 더 이상 필요하지 않으며 이 설정입니다. 적용되지 않습니다.

  • opcache.dups_fix(기본값: 0)

    이 핵을 활성화하면 "클래스를 다시 선언할 수 없음" 오류를 일시적으로 해결할 수 있습니다.

  • opcache.blacklist_filename(기본값 : 없음)

    Zend Optimizer + 블랙리스트 파일 위치
    Zend Optimizer + 블랙리스트는 가속할 수 없는 파일 이름이 포함된 텍스트 파일입니다. 파일 이름은 한 줄에 하나씩 있어야 합니다. 전체 경로 또는 파일 접두사(예: /var/www/x는 /var/www 파일 및 디렉터리에서 'x'로 시작하는 모든 파일 또는 디렉터리를 차단합니다.) 차단해야 하는 파일은 일반적으로 다음 세 가지 이유를 충족합니다. 다음 중 하나:
    1) 디렉터리에 Smarty 또는 ZFW 캐시와 같은 자동 생성된 코드가 포함되어 있습니다.
    2) 가속을 수행할 때 코드가 제대로 실행되지 않아 컴파일 시간 평가가 지연됩니다.
    3) 코드가 Zend Optimizer +를 트리거합니다. Bug

  • opcache.max_file_size(기본값: 0)

    대용량 파일을 파일 크기별로 화면 캐싱합니다. 기본적으로 모든 파일이 캐시됩니다.

  • opcache.consistency_checks(기본값: 0)

    N번 요청마다 캐시 확인을 확인합니다. 기본값 0은 확인 값을 계산하면 성능이 저하되므로 개발 및 디버깅 중에 이 명령을 켜야 합니다.

    opcache.force_restart_timeout
  • (기본값) : 180)
  • 캐시에 액세스하지 못한 후 재시작을 예약하기 위해 기다리는 시간(초)입니다. Zend Optimizer +는 이 명령을 사용하여 처리 중에 프로세스에 문제가 발생할 수 있는 시기를 결정합니다. 시간), Zend Optimizer +에 몇 가지 문제가 있어 다시 시작 방지 잠금을 유지하는 프로세스를 종료하기 시작하는 것으로 가정됩니다. 이 경우 로그 수준이 3 이상이면 "killed" locker 오류가 기록됩니다. Apache 로그에 추가합니다.

    opcache.error_log
  • (기본값: 없음)
  • Zend Optimizer + 오류 로그 파일 이름 표준 오류 출력(stderr)을 사용하려면 비워두세요.

    opcache.log_verbosity_level
  • ( 기본값: 1)
  • 오류 메시지를 웹 서버 로그에 보냅니다. 기본적으로 치명적인 오류(레벨 0) 또는 오류(레벨 1)만 기록됩니다. 또한 경고(레벨 2), 프롬프트 메시지(레벨 3)를 허용할 수도 있습니다. ) 또는 디버그 메시지(레벨 4)가 기록됩니다.

    opcache.preferred_memory_model
  • (기본값: 없음)
  • 시스템이 선택하도록 하려면 비워 두세요.

    opcache. protected_memory
  • (기본값: 0)
  • 내부 디버깅용으로만 스크립트 실행 중에 공유 메모리가 실수로 작성되는 것을 방지합니다.

    opcache.mmap_base
  • (기본값: 없음)
  • 공유 메모리 세그먼트 매핑 베이스(Windows 전용) . 모든 PHP 프로세스는 동일한 공유 메모리 주소 공간에 매핑되어야 합니다. 이 지시문은 "기본 주소에 다시 연결할 수 없습니다" 오류를 수동으로 수정하는 데 사용됩니다.

    권장 학습:

    php 비디오 튜토리얼

위 내용은 ZendOpcache를 설치하고 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제