- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要包含php脚本的docker容器在临死前通过Web套接字发送消息,但是该过程永远不会停止(即使在exit
,die
或throw
新异常之后)。
如果该过程永远不会停止,那么容器也永远不会停止...
我举了一个例子来说明我的问题:
test.php :
<?php
echo "begin\n";
$dsn = 'tcp://127.0.0.1:5555';
$context = new ZMQContext();
$socket = $context->getSocket(ZMQ::SOCKET_REQ);
$socket->connect($dsn);
$socket->send("test", ZMQ::MODE_DONTWAIT); // this line cause the zombie process
$socket->disconnect($dsn);
echo "end\n";
Dockerfile :
FROM php:7.2.4-cli-alpine3.7
# PHPIZE
ENV PHPIZE_DEPS \
autoconf \
cmake \
file \
g++ \
gcc \
libc-dev \
pcre-dev \
make \
git \
pkgconf \
re2c \
zlib-dev \
icu-dev
RUN set -xe \
&& apk add --update icu \
&& apk add --no-cache --virtual .build-deps $PHPIZE_DEPS
# Module ZMQ
RUN apk add --no-cache --virtual .persistent-deps \
libsodium-dev \
zeromq-dev \
zeromq
RUN git clone https://github.com/mkoppanen/php-zmq /tmp/php-zmq \
&& cd /tmp/php-zmq \
&& phpize \
&& ./configure \
&& make \
&& make install \
&& make test \
&& docker-php-ext-enable zmq
# Cleanup
RUN apk del .build-deps \
&& rm -rf /tmp/* /usr/local/lib/php/doc/* /var/cache/apk/*.
COPY test.php /tmp/test.php
CMD ["php", "/tmp/test.php"]
exec( 'kill 1' )
失败)
最佳答案
好的,我找到了!
我尝试了在示例中看到的 setSockOpt()
,现在过程结束了。
在connect()
之前添加:
$socket->setSockOpt(ZMQ::SOCKOPT_LINGER, 30);
关于php - 基于ZMQContext的$ socket-> send()之后,php进程永不消亡,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097642/
我在装有 Ubuntu 14.04 的虚拟机中的 nginx 1.4.6 和 php 5.5 上运行 Web 服务器,需要安装 ZeroMQ 扩展。我已按照 ZMQ 上的说明进行操作(在类 UNIX
嗨,我正在根据 Ratchet 网站上的教程创建项目。 我通过 phpstorm 中的 Composer 安装了 zeromq 版本 0.3.0。(我检查了我是否使用 phpinfo() 以及终端中的
首先,是的,我知道那里有一个非常相似的问题,但那里给出的答案不适用于我的情况,也没有迹象表明它也解决了其他人的问题。 根据 Racthet 文档中的教程,我在我的 Apache 服务器上安装了 ZMQ
我正在尝试按照本教程进行 Ratchet/ZMQ 套接字编程: http://socketo.me/docs/push 通过一些自定义来了解更多关于它的信息。 服务器本身运行良好,前端 html 之间
我想试试 ZeroMQ,我写了两个 php 文件,service.php 和 client.php。我使用 linux 终端运行服务 php/web/test/service.php,没问题,终端打印
我是一名优秀的程序员,十分优秀!