升级Laravel 9至PHP8后Cloud Run出现随机Uncaught signal:11错误求助
Cloud Run部署Laravel 9 + PHP 8后随机出现Signal 11错误(返回503)
我将项目升级至Laravel 9并搭配PHP 8,部署到Cloud Run后,日志中随机出现以下错误:Uncaught signal: 11, pid=17, tid=17, fault_addr=4294967296017.
该错误会导致请求被中止并返回503错误:GET 503 898 octets 682 msChrome 109 https://...
相关配置
php-custom.ini
max_execution_time = 500 upload_max_filesize = 40M post_max_size = 40M memory_limit = 800M max_file_uploads = 100
opcache.ini
[opcache] opcache.enable=1 opcache.enable_cli=1 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_accelerated_files=32531 opcache.memory_consumption=256 opcache.max_wasted_percentage=10 opcache.interned_strings_buffer=64 opcache.fast_shutdown=1 opcache.jit_buffer_size=100M opcache.jit=1235
Dockerfile
FROM php:8.2.3-apache as base # Arguments defined in docker-compose.yml ARG user ARG uid WORKDIR /app # Install PHP dependencies RUN apt-get update && apt-get install -y \ libpng-dev \ zlib1g-dev \ libxml2-dev \ libzip-dev \ libonig-dev \ zip \ unzip \ locales \ pdftk \ && sed -i -e 's/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen \ && locale-gen \ && docker-php-ext-configure gd \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install pdo_mysql \ && docker-php-ext-install mysqli \ && docker-php-ext-install zip \ && docker-php-source delete \ && docker-php-ext-configure intl \ && docker-php-ext-install intl \ && docker-php-ext-install opcache \ && docker-php-ext-install bcmath # Env ENV LC_ALL fr_FR.UTF-8 ENV LANG fr_FR.UTF-8 ENV LANGUAGE fr_FR:en # Copy project, vhost.conf, config php and install composer COPY . . COPY docker/vhost.conf /etc/apache2/sites-available/000-default.conf COPY docker/custom.ini $PHP_INI_DIR/conf.d/custom.ini COPY --from=composer:latest /usr/bin/composer /usr/bin/composer RUN sed -i 's/80/${PORT}/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf # Add permissions RUN mkdir -p /app/vendor \ mkdir -p /app/storage/logs \ && useradd -G www-data,root -u $uid -d /home/$user $user \ && mkdir -p /home/$user/.composer \ && chown -R $user:$user /home/$user \ && chown -R $user:$user /app \ && a2enmod rewrite \ && chmod +x docker/startup-dev.sh \ && chmod +x docker/startup-prod.sh EXPOSE 8080 FROM base as development RUN apt-get update && apt-get install -y nano ENTRYPOINT ["docker/startup-dev.sh"] CMD ["apache2-foreground"] USER $user FROM base as production COPY docker/opcache.ini $PHP_INI_DIR/conf.d/opcache.ini RUN composer clearcache && composer install --optimize-autoloader --no-dev ENTRYPOINT ["docker/startup-prod.sh"] CMD ["apache2-foreground"] USER $user
补充信息
该错误难以复现,但观察到它会在Cloud Run冷启动后出现,不确定是否与opcache配置有关。Cloud Run服务配置为1CPU、2GB内存,目前无法定位解决方法。
错误发生时的监控图表


内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

