SkyAPM / SkyAPM-php-sdk

Replaced by https://github.com/apache/skywalking-php
https://skywalking.apache.org/
Apache License 2.0
421 stars 104 forks source link

does protobuf extension confict with skywalking extension #433

Closed iris-xie closed 2 years ago

iris-xie commented 3 years ago

Is your feature request related to a problem? Please describe. I use pecl to install protobuf and then I compiled skywalking extension, and when run swoole ,it went error;

the error looks like grpc doesnot receive correct protobuf.

here is my Dockerfile

FROM hyperf/hyperf:7.4-alpine-v3.12-swoole LABEL maintainer="ares siqimochi0@163.com" version="1.0" license="MIT"

ENV PHPIZE_DEPS="autoconf dpkg-dev dpkg file g++ gcc libc-dev make php7-dev php7-pear pkgconf re2c pcre-dev pcre2-dev zlib-dev libtool automake" ARG GRPC_RELEASE_TAG=v1.31.x

RUN set -ex \ && apk update \ && apk add --no-cache libstdc++ openssl git bash \ && apk add --no-cache $PHPIZE_DEPS libaio-dev openssl-dev curl-dev \ && ln -s /usr/bin/phpize7 /usr/local/bin/phpize \ && ln -s /usr/bin/php-config7 /usr/local/bin/php-config \ && apk --update add --no-cache boost-dev ca-certificates autoconf automake libtool g++ make file linux-headers re2c pkgconf openssl-dev curl-dev \ && wget -nv -O /usr/local/bin/composer https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar \ && chmod u+x /usr/local/bin/composer

RUN pecl install mongodb \ && echo "extension=mongodb.so" > /etc/php7/conf.d/mongodb.ini

RUN apk add --no-cache librdkafka-dev \ && pecl install rdkafka \ && echo "extension=rdkafka.so" > /etc/php7/conf.d/rdkafka.ini

fix aliyun oss wrong charset

RUN apk --no-cache --allow-untrusted --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ add gnu-libiconv=1.15-r2 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so

RUN apk add --no-cache protobuf \ && cd /tmp \ && pecl install protobuf \ && echo "extension=protobuf.so" > /etc/php7/conf.d/protobuf.ini

RUN set -ex \ && mkdir -p /var/local/git \ && cd /var/local/git \ && echo "--- download cmake ---" \ && curl -L -o cmake-3.19.1.tar.gz https://github.com/Kitware/CMake/releases/download/v3.19.1/cmake-3.19.1.tar.gz \ && tar zxf cmake-3.19.1.tar.gz \ && cd cmake-3.19.1 && ./bootstrap && make -j8 && make install

RUN apk add golang

RUN set -ex \ && echo "--- clone grpc ---" \ && git clone --depth 1 -b ${GRPC_RELEASE_TAG} https://github.com/grpc/grpc /var/local/git/grpc \ && cd /var/local/git/grpc \ && git submodule update --init --recursive \ && cd /var/local/git/grpc \ && mkdir -p cmake/build && cd cmake/build && cmake ../.. \ && make -j8

RUN set -ex \ && echo "--- installing skywalking php ---" \ && git clone --recurse-submodules https://github.com/SkywalkingContrib/skywalking-php-sdk.git /var/local/git/skywalking \
&& cd /var/local/git/skywalking \ && phpize && ./configure --with-grpc=/var/local/git/grpc && make && make install \ && cp php.ini /etc/php7/conf.d/skywalking.ini

RUN apk del autoconf automake libtool g++ make file re2c \
&& rm -rf /var/local/git \

php info

&& php -i \
&& php -v \
&& php -m \
# ---------- clear works ----------
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man \
&& echo -e "giimall hyperf base Build Completed\n"
heyanlong commented 3 years ago

不冲突