Zend Opcache 의 동작 상태(메모리 사용율, 캐시 히트율등)를 웹 기반으로 확인하고 여러 가지 보고서를 뽑기 위한 GUI 모듈은 아래와 같이 여러 가지 프로젝트가 있다.

github 에 등록된 프로젝트중 유명한 것은 위 3개이며 Star 가 가장 많은 첫 번째 OpCacheGUI 를 설치하고 사용하는 방법

사용하려면 PHP 5.5 이상이 필요

설치

  1. OpCacheGUI 를 설치할 디렉터리로 이동한다. 
  2. git 으로 clone

    git clone https://github.com/PeeHaa/OpCacheGUI
    CODE
  3. 체크 아웃 받은 디렉터리로 이동

    cd OpCacheGUI
    CODE
  4. init.example.php 파일 수정

    ini_set('date.timezone', 'Asia/Seoul');
     
    ## opcache.example.com 처럼 OpCacheGUI 를 별도의 도메인으로 분리할 경우 URL_REWRITE 로 설정
    $uriScheme = Router::URL_REWRITE;
     
    ## www.example.com/opcachegui 처럼 OpCacheGUI 를 기존 웹 서비스의 하위 디렉터리에 위치할 경우 QUERY_STRING으로 설정
    $uriScheme = Router::QUERY_STRING;
     
    ## 로그인 정보 및 whitelist
    ## id 는 myusername 이며 암호는 password
    ## whitelist 에는 로그인을 허용할 ip 나 대역을 적어준다. 아래의 설정은 localhost 와 192.168.0. 대역에서만 연결이 가능하다.
    $login = [
        'username'  => 'myusername',
        'password'  => '$2y$14$kHoRlbxPF7Bf1903cDMTgeYBsFgF8aJA46LIH9Nsg4/ocDa9HTTbe',
        'whitelist' => [
            'localhost',
            '192.168.0.*',
        ],
    ];
    PHP

    암호를 변경할 경우 PHP 의 password-hash 함수 로 암호를 생성하면 된다.

    <?php
    echo password_hash ('my_pwd', PASSWORD_DEFAULT)."\n";
    ?>
    PHP

Web Server 설정

구동하려면 동작 방식에 따라 다르게 설정해야 한다. 설치 위치는 /var/www/php-proj/OpCacheGUI 라고 가정한다.

별도의 VirtualHost 사용

opcache.example.com 이라는 Virtual Host 로 구동시 아래와 같이 설정한다.
<VirtualHost *:80>
  ServerName opcache.example.com
  DocumentRoot "/var/www/php-proj/OpCacheGUI/public"

  <Directory "/var/www/php-proj/OpCacheGUI/public">
    Options Indexes FollowSymLinks
    AllowOverride All
  </Directory>

  # This is only needed when using URL paths
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^ index.php [L]

</VirtualHost>
CODE

init.example.php 파일내 $uriScheme 을 URL_REWRITE 로 설정한다.

$uriScheme = Router::URL_REWRITE;
CODE

 

기존 서비스의 하위 디렉토리로 사용

www.example.com 이라는 서비스의 하위로 구동시 아래와 같이 설정한다.
<VirtualHost *:80>
    ServerName www.example.com
    Alias /op_code_gui /var/www/php-proj/OpCacheGUI/public
    <Directory "/var/www/php-proj/OpCacheGUI/public">
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
    DocumentRoot /var/www/php-proj
    <Directory "/var/www/php-proj">
        Order allow,deny
        Allow from all
    </Directory>
    RewriteEngine On
</VirtualHost>
CODE

init.example.php 파일내 $uriScheme 을 QUERY_STRING 으로 설정한다.

$uriScheme = Router::QUERY_STRING;
CODE

확인

  1. 설정이 완료되었으면 httpd 를 재구동한다.

    service httpd restart
    CODE
  2. 정해진 URL 로 접속한 후에 설정한 id/pwd 로 로그인한다.
  3. 정상적으로 설정했다면 다음과 같은 대시보드를 볼 수 있다.
     

Ref