是否有可能使用不同的池选项(禁用xdebug /禁用xdebug)来设置PHP-FPM

我有一个LEMP环境,并且需要将所有开发子域从分段中分离(使用xdebug分段进行开发)。

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

因此,我设置了两个池php-dev和php-stage,但似乎只能在php.ini中启用扩展!

这是我的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 

不幸的是,xdebug将不会被加载。

有没有其他选项只能在dev。*域中加载xdebug?

不幸的是,您无法为每个FPM池加载不同的模块或模块版本。 到目前为止,我已经在类似的情况下创build了多个完全独立的PHP-FPM实例。