Php-Fpm
2個相同版本的php-fpm程序
我想生成兩個 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
的。為第二個選擇不同的名稱。