찾다

 >  Q&A  >  본문

Cloud Run이 신호를 포착하지 못함: Laravel 9 업그레이드 후 11

<p>PHP8을 사용하여 프로젝트를 Laravel 9로 업그레이드했습니다. 하지만 Cloud Run에 배포하는 중이므로 Cloud Run 로그에 무작위로 다음 오류가 표시됩니다. </p> <p><code> 포착되지 않은 신호: 11, pid=17, tid=17, fall_addr=4294967296017.</code></p> <p>因此查询因 503 错误而中止:<code>GET 503 898 옥텟 682 msChrome 109 https://...</code></p> <p>내가 좋아하는 php-custom.ini :</p> <pre class="brush:php;toolbar:false;">max_execution_time = 500 upload_max_filesize = 40M post_max_size = 40M memory_limit = 800M max_file_uploads = 100</pre> <p>내가 갖고 있는 opcache.ini :</p> <pre class="brush:php;toolbar:false;">[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</pre> <p>당신이 가지고 있는 dockerfile은:</p> <pre class="brush:php;toolbar:false;">FROM php:8.2.3-apache를 기본으로 # docker-compose.yml에 정의된 인수 ARG 사용자 ARG UID WORKDIR /앱 # PHP 의존성 설치 RUN apt-get 업데이트 && 적절한 설치 -y libpng-dev zlib1g-dev libxml2-dev libzip-dev libonig-dev 지퍼 압축을 풀다 로케일 pdftk && sed -i -e 's/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen && 로캘 생성 && 도커-php-ext-구성 gd && docker-php-ext-install -j$(nproc) gd && 도커-php-ext-설치 pdo_mysql && 도커-php-ext-설치 mysqli && docker-php-ext-설치 zip && docker-php-소스 삭제 && docker-php-ext-configure intl && docker-php-ext-install intl && docker-php-ext-설치 opcache && docker-php-ext-설치 bcmath # 환경 ENV LC_ALL fr_FR.UTF-8 ENV LANG fr_FR.UTF-8 ENV 언어 fr_FR:en # 프로젝트, vhost.conf, config php를 복사하고 작곡가를 설치합니다. 복사 . . COPY docker/vhost.conf /etc/apache2/sites-available/000-default.conf COPY docker/custom.ini $PHP_INI_DIR/conf.d/custom.ini 복사 --from=composer:최신 /usr/bin/composer /usr/bin/composer RUN sed -i 's/80/${PORT}/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf # 권한 추가 실행 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 다시 작성 && chmod +x docker/startup-dev.sh && chmod +x docker/startup-prod.sh 노출 8080 FROM 기반 개발 RUN apt-get 업데이트 && apt-get 설치 -y 나노 ENTRYPOINT ["docker/startup-dev.sh"] CMD ["apache2-전경"] 사용자 $사용자 생산 기반에서 COPY docker/opcache.ini $PHP_INI_DIR/conf.d/opcache.ini RUN 작곡가 클리어캐시 && 작곡가 설치 --optimize-autoloader --no-dev ENTRYPOINT ["docker/startup-prod.sh"] CMD ["apache2-전경"] 사용자 $user</pre> <p>저는 Cloud Run에서 冷启动后출발적에 대해 알지 못합니다.配置引起的。나의 것云运行服务에는 1개의 CPU와 2개의 GO가 있습니다.</p> <p>저는 알지 못하는 길을 알고 있습니다.</p> <p><strong>编辑</strong></p> <p>当我收到错误时,我添加了 2 个图表:</p>
P粉739886290P粉739886290459일 전507

모든 응답(1)나는 대답할 것이다

  • P粉434996845

    P粉4349968452023-09-01 00:37:45

    문제를 해결했습니다. 이는 Cloud Run과 관련이 없습니다. 문제는 JIT 구성입니다. 나는 이것을 바꿨다:

    으아악

    to

    으아악

    이에 따르면: https://php.watch/versions/8.0/JIT#jit-opcache-jit-values 나도 시도했습니다:

    으아악

    1255를 사용하고 싶지 않은 경우에도 작동합니다. 하지만 1255를 사용한 이유는 이 풀 리퀘스트에서 1255 구성의 단위 테스트를 많이 봤기 때문입니다.

    회신하다
    0
  • 취소회신하다