0

由于 docker-compose.yml 文件,我的应用程序在开发模式下与 Docker 一起运行。

我按照Docker docPHP Probe doc的字母安装了 Blackfire 。

我的浏览器中安装了 Firefox 插件。

当试图分析我的页面(http://localhost)时,我收到以下错误:

您是否有权配置此页面?未找到探测或签名无效。

我按照故障排除中的指示尝试修复错误:

  • 代理正在运行
  • php -m探针已正确安装并启用(我在我的 php 容器中运行时看到它)
  • 环境变量(客户端和服务器 ID/令牌)被 blackfire 容器识别

为什么我会收到此错误?我该如何解决?

4

1 回答 1

2

在docker-compose.yml 文件中有关使用 Docker 安装Blackfire 的文档中,ports 选项中的给定端口是 8 3 07。

version: '3'
services:
  blackfire:
    image: blackfire/blackfire:2
    ports: ["8307"]
    environment:
        # Exposes BLACKFIRE_* environment variables from the host
        BLACKFIRE_SERVER_ID: ~
        BLACKFIRE_SERVER_TOKEN: ~
        BLACKFIRE_CLIENT_ID: ~
        BLACKFIRE_CLIENT_TOKEN: ~

在有关使用 Docker 启用 PHP Probe的文档中,Linux 映像和 Alpine 映像中的给定端口都是 8 7 07(请参阅以 开头的倒数第二行&& printf "extension=blackfire.so)。下面是 Linux Image 的示例:

FROM php:7.4-fpm

RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
    && architecture=$(case $(uname -m) in i386 | i686 | x86) echo "i386" ;; x86_64 | amd64) echo "amd64" ;; aarch64 | arm64 | armv8) echo "arm64" ;; *) echo "amd64" ;; esac) \
    && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/$architecture/$version \
    && mkdir -p /tmp/blackfire \
    && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
    && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so \
    && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
    && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz

您应该更改一个或另一个端口,使其在两个位置具有相同的端口。然后重新启动您的容器。


编辑:错误已修复。

于 2021-06-10T13:45:05.960 回答