xhprof 是 php性能分析工具
1. 添加變量來控制xhprof是否安裝
進(jìn)入 .env 文件,在 PHP_FPM 中加入:
PHP_FPM_INSTALL_XHPROF=true
進(jìn)入 docker-compose.yml 文件业栅,在 services->php-fpm->build->args 中加入:
- INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF}
2. 在php-fpm鏡像中加入安裝xhprof的命令
修改 /php-fpm/Dockerfile 文件,在 Check PHP version 之前加入:
###########################################################################
# XHPROF:
###########################################################################
ARG INSTALL_XHPROF=false
RUN apt-get -y install wget
RUN if [ ${INSTALL_XHPROF} = true ]; then \
# Install the xhprof extension
wget https://github.com/longxinH/xhprof/archive/v2.1.0.tar.gz \
&& mv v2.1.0.tar.gz xhprof-2.1.0.tar.gz \
&& tar -zxvf xhprof-2.1.0.tar.gz \
&& cd xhprof-2.1.0/extension \
&& phpize \
&& ./configure \
&& make \
&& make install \
&& docker-php-ext-enable xhprof \
# Install libpng
&& wget https://github.com/glennrp/libpng/archive/v1.6.35.tar.gz \
&& mv v1.6.35.tar.gz libpng-1.6.35.tar.gz \
&& tar -zxvf libpng-1.6.35.tar.gz \
&& cd libpng-1.6.35 \
&& ./configure \
&& make \
&& make install \
# Install graphviz
&& apt-get install -y graphviz \
;fi
3. 在php.ini中寫入xhprof相關(guān)配置
進(jìn)入當(dāng)前PHP版本的配置文件中漾抬,這里用php7.2版演示
進(jìn)入 /php-fpm/php7.2.ini 文件中,在文件末尾加上:
[XHPROF]
;extension=xhprof.so
xhprof.output_dir=/var/www/xhprof_output
4. 重建php-fpm和workspace容器
如果之前已經(jīng)啟動(dòng)了php-fpm或者workspace容器常遂,需要先關(guān)閉再重建:
docker-compose down
執(zhí)行重建命令:
docker-compose build php-fpm
docker-compose build workspace