- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
今天我尝试将 Blackfire 添加到我的 Docker 堆栈中!我遵循了专门用于 Docker 实现的 Blackfire 文档,容器设置正确,但我无法成功创建应用程序的第一个配置文件。
这是一个 Symfony 堆栈。我有一个 PHP-FPM 容器和一个 CLI 容器,我可以在其中启动命令。 NGINX 容器是网络服务器。
我的docker-compose.yml
文件如下:
---
cli:
container_name: my_app_cli
build: cli
volumes:
- "./volumes/apps:/srv/apps"
stdin_open: true
tty: true
environment:
- PHP_EXTRA_CONFIGURE_ARGS=--with-ldap
links:
- mysql:mysql
- redis:redis
- rabbitmq:rabbitmq
- web:web
- blackfire:blackfire
mysql:
container_name: my_app_mysql
build: mysql
environment:
- MYSQL_DATABASES=my_database
- MYSQL_ROOT_PASSWORD=sgreat_password
- MYSQL_HOST=localhost
- MYSQL_PORT=33306
- MYSQL_USER=guest
- MYSQL_PASSWORD=password
- MYSQL_LOYALTY_DATABASE=my_database
ports:
# MySQL
- "33306:3306"
volumes:
# Mysql
- "./volumes/mysql:/var/lib/mysql"
phpmyadmin:
container_name: my_app_phpmyadmin
image: nazarpc/phpmyadmin
ports:
# PHPMyAdmin HTTP
- "8082:80"
links:
- mysql:mysql
phpfpm:
container_name: my_app_phpfpm
build: phpfpm
ports:
- "9000:9000"
environment:
- PHP_EXTRA_CONFIGURE_ARGS=--with-ldap
links:
- mysql:mysql
volumes:
- "./volumes/apps:/srv/apps"
blackfire:
container_name: my_app_blackfire
image: blackfire/blackfire
environment:
# Exposes the host BLACKFIRE_SERVER_ID and TOKEN environment variables.
- BLACKFIRE_CLIENT_ID
- BLACKFIRE_CLIENT_TOKEN
- BLACKFIRE_SERVER_ID
- BLACKFIRE_SERVER_TOKEN
links:
- web:web
volumes:
- "./volumes/apps:/srv/apps"
ports:
- "8707:8707"
rabbitmq:
container_name: my_app_rabbitmq
image: rabbitmq:3.5-management
volumes:
- /var/lib/rabbitmq
environment:
RABBITMQ_USER: guest
RABBITMQ_PASSWORD: guest
ports:
# rabbitmq management
- "8085:15672"
redis:
container_name: my_app_redis
image: redis
environment:
REDIS_PASSWORD: great_password
volumes:
- "./volumes/redis:/data"
ports:
- "32772:6379"
web:
container_name: my_app_web
build: nginx
environment:
NGINX_ENABLED_VHOST: www.my_app.local
extra_hosts:
- "www.my_app.local:127.0.0.1"
links:
- phpfpm
volumes:
- "./volumes/apps:/srv/apps"
- "./volumes/html:/usr/share/nginx/html"
- "./volumes/logs/nginx:/var/log/nginx"
ports:
- "80:80"
- "443:443"
我的环境变量已使用我的 Blackfire ID 正确设置。
我尝试使用以下命令行创建我的个人资料:
docker exec my_app_blackfire blackfire curl --proxy http://my_app_web:80 http://www.my_app.local/api/stores
结果是:
Are you authorized to profile this page? No probe response, missing PHP extension or invalid signature for relaying agent.
在 PHP-FPM 和 CLI Dockerfile 中,我放置了 documentation instructions :
RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
&& mv /tmp/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
编辑:触发配置文件命令后,我的 PHP-FPM 容器和 NGINX 应用程序日志中有以下日志:
PHP-FPM
[06-Dec-2016 10:01:12] WARNING: [pool www] child 9 said into stderr: "NOTICE: PHP message: PHP Warning: Unknown: php_network_getaddresses: getaddrinfo failed: Name or service not known in Unknown on line 0"
172.17.0.7 - 06/Dec/2016:10:00:46 +0000 "GET /app_dev.php" 301
[06-Dec-2016 10:01:19] WARNING: [pool www] child 12 said into stderr: "NOTICE: PHP message: PHP Warning: Unknown: php_network_getaddresses: getaddrinfo failed: Name or service not known in Unknown on line 0"
172.17.0.7 - 06/Dec/2016:10:01:12 +0000 "GET /app_dev.php" 301
NGINX
2016/12/06 10:01:19 [error] 7#7: *3 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: php_network_getaddresses: getaddrinfo failed: Name or service not known in Unknown on line 0" while reading response header from upstream, client: 172.17.0.8, server: www.my_app.local, request: "GET http://www.my_app.local/api/stores HTTP/1.1", upstream: "fastcgi://172.17.0.6:9000", host: "www.my_app.local"
2016/12/06 10:01:26 [error] 8#8: *5 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: php_network_getaddresses: getaddrinfo failed: Name or service not known in Unknown on line 0" while reading response header from upstream, client: 172.17.0.8, server: www.my_app.local, request: "GET http://www.my_app.local/api/stores HTTP/1.1", upstream: "fastcgi://172.17.0.6:9000", host: "www.my_app.local"
最佳答案
嗯,刚刚发现,您的 php-fpm 容器没有任何指向 blackfire 容器的链接。
关于php - 在 Docker 环境中使用 Blackfire 容器分析我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40980789/
所以我关注了 these instructions对于我的流浪盒子,一切似乎都很顺利,我的意思是它正在运行。它已经配置了它的服务器 ID 和服务器 token 。 然后我按照同一页面上的说明安装了 P
我已经成功安装了 blackfire 代理、cli 工具和探针,并且工作正常。我在使用 bf 进行分析时禁用了 xdebug 模块。 现在我想像以前一样使用 xdebug,但是 xdebug 不起作用
今天我尝试将 Blackfire 添加到我的 Docker 堆栈中!我遵循了专门用于 Docker 实现的 Blackfire 文档,容器设置正确,但我无法成功创建应用程序的第一个配置文件。 这是一个
在我的 Homestead 盒子上尝试设置 Blackfire.io 时遇到一些问题。 现在按照安装指南进行了几次,没有出现任何错误。 当我尝试使用 chrome companion 时,出现以下错误
尝试安装时 Blackfire.io PHP 探针 在我的 CentOS 服务器通过输入以下命令 sudo yum install blackfire-php我收到以下错误: Error: Packa
我注意到,当我有一个没完没了的工作人员时,我无法分析 PHP shell 脚本。因为当它被杀死时,它不会发送探测器。 我应该做什么改变? 最佳答案 当您尝试分析一个正在运行无限循环的工作人员时。在这种
有没有人设法将 Blackfire 与 Swoole 一起使用?我已经尝试设置了几天,但没有成功。 我在 PHP-CLI Swoole Dockerfile 中调用以下脚本: #!/usr/bin/e
我很难在我的 Mac OSX (10.10) 和 MampPro (3.2.1) 设置上本地启动和运行 BlackFire.io。 我已经能够成功地遵循大部分说明,但我相信 OSX 的 native
我是一名优秀的程序员,十分优秀!