É possível configurar o PHP-FPM com diferentes opções de pool (xdebug enabled / xdebug desabilitado)

6

Eu tenho um ambiente LEMP e preciso da opção para separar todos os subdomínios de desenvolvimento do teste (desenvolvimento com o teste xdebug sem).

  • dev.projectX.mydomain.tld
  • staging.projectX.mydomain.tld

Por isso eu configurei dois pools php-dev e php-stage, mas parece que eu posso habilitar extensões apenas no php.ini !?

Aqui está o meu pool.conf (dev)

[php-dev]
listen = 127.0.0.1:9101
listen = /var/run/php-fpm/a1-php-dev.socket
listen.backlog = -1
listen.allowed_clients = 127.0.0.1

user = nginx
group = nginx

request_slowlog_timeout = 3s
slowlog = /var/log/php-fpm/slowlog-php-dev.log

pm = dynamic
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 4
pm.max_spare_servers = 16
pm.max_requests = 500
pm.status_path = /status

request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

env[HOSTNAME] = $HOSTNAME
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

php_admin_value[zend_extension]         = "/usr/lib64/php/modules/xdebug.so"
php_admin_value[xdebug.default_enable]      = 0
php_admin_value[xdebug.remote_enable]       = 0
php_admin_value[xdebug.remote_autostart]        = 0
php_admin_value[xdebug.remote_host]         = localhost 
php_admin_value[xdebug.profiler_enable_trigger]     = 0
php_admin_value[xdebug.remote_port]         = 9001
php_admin_value[xdebug.collect_params]      = 2
php_admin_value[xdebug.collect_vars]        = 1
php_admin_value[xdebug.trace_format]        = 2

Infelizmente, o xdebug não será carregado.

Existe alguma outra opção para carregar o xdebug apenas nos domínios dev. *?

    
por Thorsten Scheckenbach 24.02.2013 / 11:43

2 respostas

6

Infelizmente, você não pode carregar módulos ou versões de módulos diferentes para cada pool do FPM. Até agora, criei várias instâncias completamente separadas do PHP-FPM em situações semelhantes.

    
por 24.02.2013 / 12:01
1

Sim, mas o pool extra também precisa ser executado em um serviço separado. Esse serviço pode usar os mesmos binários, mas precisa de seus próprios arquivos conf e (algumas) dirs. Como conseguir isso depende do seu sistema e do seu gerenciador de serviços. Eu usei esta resposta como base porque eu tenho systemd.

    
por 16.04.2018 / 08:14