[ERROR] DI Reflection Manager collecting class reflections failed. [BUG]
JUYAFEI opened this issue · comments
[ERROR] DI Reflection Manager collecting class reflections failed.
File: /opt/www/vendor/hyperf/di/src/AbstractCallableDefinitionCollector.php.
Exception: Syntax error, unexpected T_END_HEREDOC on line 1
基于hyperf/hyperf:8.3-alpine-v3.19-base镜像运行会抛出这个异常,而自己打包的8.3.6版本没问题
FROM hyperf/hyperf:8.3-alpine-v3.19
ARG timezone
ARG PHP_BUILD_VERSION=83
ENV TIMEZONE=${timezone:-"Asia/Shanghai"}
APP_ENV=prod
SCAN_CACHEABLE=(true)
PHPIZE_DEPS="autoconf dpkg-dev dpkg file g++ gcc libc-dev make php${PHP_BUILD_VERSION}-dev php${PHP_BUILD_VERSION}-pear"
#COPY tokenserver.so /usr/lib/php83/modules/tokenserver.so
update
RUN set -ex
&& apk update
&& apk add --no-cache yaml-dev
&& apk add --no-cache $PHPIZE_DEPS
&& cd /tmp
&& ln -s /usr/bin/phpize${PHP_BUILD_VERSION} /usr/local/bin/phpize
&& ln -s /usr/bin/php-config${PHP_BUILD_VERSION} /usr/local/bin/php-config
&& curl -SL "https://pecl.php.net/get/yaml" -o yaml.tar.gz
&& tar -xf yaml.tar.gz -C /tmp
&& cd /tmp/yaml-*
&& phpize
&& ./configure
&& make -s -j$(nproc) && make install
&& echo "extension=yaml.so" > /etc/php${PHP_BUILD_VERSION}/conf.d/00_yaml.ini
&& php -v
&& php -m
&& php --ri swoole
# ---------- some config ----------
&& cd /etc/php*
# - config PHP
&& {
echo "upload_max_filesize=128M";
echo "post_max_size=128M";
echo "memory_limit=1G";
echo "date.timezone=${TIMEZONE}";
echo "extension = tokenserver.so" > /etc/php${PHP_BUILD_VERSION}/conf.d/00_tokenserver.ini;
} | tee conf.d/99_overrides.ini
# - config timezone
&& ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
&& echo "${TIMEZONE}" > /etc/timezone
# ---------- clear works ----------
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man
&& echo -e "\033[42;37m Build Completed :).\033[0m\n"
WORKDIR /opt/www
Composer Cache
COPY ./composer.* /opt/www/
RUN composer install --no-dev --no-scripts
#COPY . /opt/www
#RUN composer install --no-dev -o && php bin/hyperf.php
EXPOSE 9501
hyperf/hyperf:8.3-alpine-v3.19-swoole-5.1.3
用这个测试看看
hyperf/hyperf:8.3-alpine-v3.19-swoole-5.1.3
用这个测试看看
依旧报错
换这个hyperf/hyperf:8.3-alpine-v3.19-swoole-slim-v5.1.1 构建就不报错了。
原先用的是 8.3-alpine-v3.19-swoole-slim-v5.1.2 一直没问题。重新构建容器就开始报错了
能说下原因么,生产事故,哈哈哈
It is impossible via apk, as the Alpine Linux team are not keeping "older versions" in their current repositories (as stated here (gitlab.alpinelinux.org) and here (stschindler.medium.com))
安装其他扩展时:apk add php83-dev是 安装的事目前 php8.3.7版本 ,所以解析报错
碰到同样的错误了,云效流水线报这个错,在本地试了下也是一样,咋解决呢?