설치 및 설정 오류 해결
WhaTap PHP 설치 및 설정 오류를 진단하고 해결하는 방법을 안내합니다.
Linux/FreeBSD
PHP 확장 모듈 및 whatap-php 서비스 수동 설정
PHP 확장 모듈과 whatap-php 서비스 설치 및 선택 설치(install.sh)가 정상적으로 이루어지지 않을 경우 수동으로 설정하는 방법을 설명합니다. PHP 컴파일 설치 등의 이유로 환경 정보를 확 인할 수 없는 경우 사용하세요.
whatap.ini 생성
$ cp /usr/whatap/php/template.ini /usr/whatap/php/whatap.ini
$ vi /usr/whatap/php/whatap.ini
# 상단에 내용 추가
; Enable whatap extension module
extension=whatap.so
whatap.license= # 발급된 액세스 키
whatap.server.host= # 발급된 서버 IP
whatap.app_name= # 웹서버 구분 APHP, FPHP (apache : APHP, php-fpm : FPHP)
whatap.app_process_name= # apache, php-fpm 의 프로세스 이름(httpd,php-fpm)
| 설정 | 설명 |
|---|---|
| whatap.license | 프로젝트 메뉴 > 관리 > 에이전트 설치 페이지에서 발 급된 액세스 키를 확인할 수 있습니다. |
| whatap.server.host | 프로젝트 메뉴 > 관리 > 에이전트 설치 페이지에서 발급된 서버 IP를 확인할 수 있습니다. |
| whatap.app_name | Apache 서버는 APHP, php-fpm 은 FPHP를 사용합니다. |
| whatap.app_process_name | Apache 또는 php-fpm 의 실행 프로세스 이름 설정으로 정확한 프로세스명 입력하면, 해당 프로세스에 대한 사용 메모리를 수집합니다. 예시로 httpd, apache2, php-fpm 등을 들 수 있습니다. |
PHP 명령어(CLI) 경로 확인
$ which php
/usr/bin/php
whatap-php 서비스 환경 변수 설정
$WHATAP_PHP_BIN 환경 변수에 PHP CLI 명령어의 경로를 설정하세요.
$ sudo vi /etc/init.d/whatap-php
export WHATAP_PHP_BIN= # PHP 명령어 위치(/usr/bin/php)
PHP API 버전 확인
$WHATAP_PHP_BIN 환경 변수에 PHP CLI 명령어의 경로를 설정하세요.
$ sudo php -i | grep 'PHP API'
PHP API => 20100412
PHP ZTS(Zend Thread Safe) 지원 여부 확인
$ sudo apachectl -V | grep MPM
Server MPM: Prefork # ZTS 지원 안함
Server MPM: Worker # ZTS 지원
$ sudo php-fpm -i | grep Thread
Thread Safety => disabled # ZTS 지원 안함
Thread Safety => enabled # ZTS 지원
PHP 확장 모듈 경로 확인 및 설정
PHP 확장 모듈 경로 확인
$ sudo php -i | grep extension_dir
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
PHP 확장 모듈 설정
PHP API 버전, PHP ZTS 지원 여부를 확인하여 환경에 적합한 라이브러리를 선택하세요. PHP 확장 모듈(PHP Extension module) 경로에 whatap.so 파일명을 복사하세요.
-
PHP ZTS를 지 원할 경우 - whatap_zts_[PHP API 버전].so
-
PHP ZTS를 지원하지 않을 경우 - whatap_[PHP API 버전].so
# PHP ZTS 지원하지 않을 경우 예시
$ sudo cp /usr/whatap/php/modules/x64/whatap_20100412.so /usr/lib64/php/modules/whatap.so
whatap-php 서비스 환경 변수 설정
$ sudo vi /etc/init.d/whatap-php
export WHATAP_PHP_EXT_HOME= # PHP Extension 경로(/usr/lib64/php/modules)
export WHATAP_PHP_EXT_SRC= # 와탭 라이브러리 경로 및 파일명
# (/usr/whatap/php/modules/x64/whatap_20100412.so)]
$WHATAP_PHP_EXT_HOME환경변수에 PHP 확장 모듈 경로를 설정하세요.$WHATAP_PHP_EXT_SRC환경변수에 와탭 라이브러리 전체 파일 경로를 설정하세요.
whatap.ini 설정
-
PHP 추가 ini 설정 경로를 확인하세요.
$ sudo php -i | grep '.ini files'
Scan this dir for additional .ini files => /etc/php.d -
whatap.ini를 해당 경로에 복사하세요.
$ sudo cp /usr/whatap/php/whatap.ini /etc/php.d/whtap/ini
Windows
PHP 확장 모듈 및 WhaTap PHP 서비스 수동 설정
PHP 확장 모듈이나 whatap-php 서비스 설치 및 선택 설치(install.sh)가 정상적 설치되지 않은 경우, 수동 설정 방법을 안내합니다.
PHP 환경 정보 확인
PHP 환경 정보를 확인합니다.
REM PHP API 버전 확인
php -i | findstr "PHP API"
REM Thread Safety 확인
php -i | findstr "Thread Safety"
REM Extension 디렉토리 확인
php -i | findstr extension_dir
REM PHP 설정 파일 위치 확인
php --ini
- 예시
PHP API => 20230831
Thread Safety => disabled
extension_dir => C:\PHP\ext
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: C:\PHP\php.ini
Scan for additional .ini files in: C:\PHP\conf.d
Additional .ini files parsed: (none)
php_whatap.dll 복사
확인한 extension_dir 경로에 적절한 DLL을 복사합니다.
REM 위에서 확인한 extension_dir 사용
REM 예: extension_dir => C:\PHP\ext
REM Non-ZTS 버전
copy "C:\Program Files\WhaTap\PHP\modules\x64\php_whatap_[API_VERSION].dll" "C:\PHP\ext\php_whatap.dll"
REM ZTS 버전
copy "C:\Program Files\WhaTap\PHP\modules\x64\php_whatap_zts_[API_VERSION].dll" "C:\PHP\ext\php_whatap.dll"
- 예시
REM PHP 8.3 (API 20230831) NTS, extension_dir = C:\PHP\ext
copy "C:\Program Files\WhaTap\PHP\modules\x64\php_whatap_20230831.dll" "C:\PHP\ext\php_whatap.dll"
REM PHP 8.3 (API 20230831) ZTS, extension_dir = C:\Program Files\PHP\v8.3\ext
copy "C:\Program Files\WhaTap\PHP\modules\x64\php_whatap_zts_20230831.dll" "C:\Program Files\PHP\v8.3\ext\php_whatap.dll"
whatap.ini 생성 또는 php.ini 수정
Scan Directory가 있는 경우
php --ini에서 확인한 Scan Directory에 whatap.ini 파일을 생성합니다.
REM 예: Scan for additional .ini files in: C:\PHP\conf.d
notepad "C:\PHP\conf.d\whatap.ini"
- whatap.ini
extension=php_whatap.dll
Scan Directory가 없는 경우
php --ini에서 확인한 php.ini 파일에 직접 추가합니다.
REM 예: Loaded Configuration File: C:\PHP\php.ini
notepad "C:\PHP\php.ini"
- php.ini에 추가할 내용
[whatap]
extension=php_whatap.dll
whatap.ini 설정
C:\Program Files\WhaTap\PHP\whatap.ini 파일을 편집합니다.
whatap.license=your_access_key
whatap.server.host=13.124.11.223
whatap.app_name=APHP
whatap.app_process_name=httpd.exe
환경 변수 설정
WhaTap PHP 에이전트가 사용하는 환경 변수를 설정합니다.
REM 필수: WhaTap PHP 설치 디렉토리
setx WHATAP_PHP_HOME "C:\Program Files\WhaTap\PHP"
REM 필수: whatap.ini 파일 이름 또는 경로
setx WHATAP_PHP_CONFIG "whatap.ini"
REM 선택: 라이센스 키 (whatap.ini 대신 환경 변수로 지정 가능)
REM setx WHATAP_LICENSE "your_access_key"
REM 선택: 수집 서버 주소 (whatap.ini 대신 환경 변수로 지정 가능)
REM setx WHATAP_SERVER_HOST "13.124.11.223"
- 설치 프로그램이 자동으로 설정하는 환경 변수
| 환경 변수 | 설명 | 설정 시점 | 기본값 |
|---|---|---|---|
WHATAP_PHP_HOME | WhaTap PHP 설치 디렉토리 | 항상 | C:\Program Files\WhaTap\PHP |
WHATAP_PHP_CONFIG_HOME | whatap.ini 파일이 위치한 디렉토리 | 항상 | C:\Program Files\WhaTap\PHP |
WHATAP_PHP_CONFIG | whatap.ini 파일 이름 | 항상 | whatap.ini |
WHATAP_DATETIME_MODE | 시간 모드 (Windows 전용) | 항상 | WINDOWS |
WHATAP_PHP_BIN | php.exe 전체 경로 | PHP 감지 시 | (감지된 경로) |
WHATAP_PHP_DIR | PHP 설치 디렉토리 | PHP 감지 시 | (감지된 경로) |
WHATAP_PHP_API_VERSION | PHP API 버전 (예: 20230831) | PHP 감지 시 | (감지된 버전) |
WHATAP_PHP_EXTENSION_DIR | PHP extension 디렉토리 | PHP 감지 시 | (감지된 경로) |
WHATAP_PHP_INI_FILE | php.ini 파일 전체 경로 | PHP 감지 시 | (감지된 경로) |
WHATAP_PHP_THREAD_SAFETY | Thread Safety (enabled/disabled) | PHP 감지 시 | (감지된 값) |
- 사용자가 선택적으로 설정 가능한 환경 변수(whatap.ini 대신 사용)
| 환경 변수 | 설명 | 우선순위 | 기본값 |
|---|---|---|---|
WHATAP_LICENSE | 라이센스 키 | 환경변수 > whatap.ini | - |
WHATAP_SERVER_HOST | 수집 서버 주소 | 환경변수 > whatap.ini | - |
참고
-
setx명령은 영구적으로 환경 변수를 설정합니다. (재부팅 후에도 유지) -
설정 후 새로운 명령 프롬프트나 서비스 재시작 필요
-
시스템 전체 환경 변수로 설정하려면 관리자 권한으로 실행 후
/M옵션 사용setx WHATAP_PHP_HOME "C:\Program Files\WhaTap\PHP" /M
서비스 등록 및 시작
REM 서비스 등록
sc create "WhaTap PHP" binPath="C:\Program Files\WhaTap\PHP\whatap_php.exe" start=auto
REM 서비스 시작
net start "WhaTap PHP"
REM 웹 서버 재시작
net stop Apache2.4 && net start Apache2.4
REM 또는
iisreset
운영 환경 점검
PHP 환경 정보 수집
- Windows
# Windows
php -v > php_version.txt
php -i > phpinfo.txt
php -m > modules.txt
php --ini > ini.txt