Php-Fpm

2個相同版本的php-fpm程序

  • November 14, 2020

我想生成兩個 php-fpm 程序(一個帶有 xdebug,一個沒有)以使頁面載入更快

我打算基於 XDEBUG_SESSION cookie 在 php-fpm 套接字之間切換

範常式式碼/etc/apache2/conf-available/php7.2-fpm.conf

<FilesMatch ".+\.ph(ar|p|tml)$">
 <If "%{HTTP_COOKIE} =~ /XDEBUG_SESSION=PHPSTORM/">
         SetHandler "proxy:fcgi://127.0.0.1:9000"
 </If>
 <Else>
         SetHandler "proxy:fcgi://127.0.0.1:9001"
 </Else>
</FilesMatch>

我知道如何配置 php-fpm/etc/php/7.2/fpm/pool.d/www.conf

listen = 127.0.0.1:9000

但我不知道如何產生多個(或兩個)php-fpm 程序。

如果有更簡單的方法,請告訴我。

我最終使用docker-compose有條件地在容器之間切換

https://github.com/unlocomqx/conditional-xdebug-fpm-docker

靈感來自 https://jtreminio.com/blog/developing-at-full-speed-with-xdebug/

以下是有趣的部分

兩個獨立的 php 容器,每個容器都有不同的埠,一個沒有 xdebug

 php:
   build:
     context: ./bin/php72-fpm
   container_name: '${COMPOSE_PROJECT_NAME}-${PHPVERSION}'
   volumes:
     - ${DOCUMENT_ROOT-./www}:/var/www/html
   ports:
     - "9000:9000"
 php_xdebug:
   build:
     context: ./bin/php72-xdebug
   container_name: '${COMPOSE_PROJECT_NAME}-xdebug-${PHPVERSION}'
   volumes:
     - ${DOCUMENT_ROOT-./www}:/var/www/html
   ports:
     - "9002:9002"

使用您想要的更改設置創建第二個 php-fpm 池。你只有一個你命名www的。為第二個選擇不同的名稱。

引用自:https://serverfault.com/questions/1042418