Cloud Run ne capte pas le signal : 11 après la mise à niveau de Laravel 9
P粉739886290
2023-08-31 09:23:32
<p>J'ai mis à niveau mon projet vers Laravel 9 en utilisant PHP8. Mais comme je déploie sur Cloud Run, j'obtiens de manière aléatoire l'erreur suivante dans le journal Cloud Run : </p>
<p><code> Signal non détecté : 11, pid=17, tid=17, default_addr=4294967296017.</code></p>
<p>因此查询因 503 错误而中止:<code>GET 503 898 octets 682 msChrome 109 https://...</code></p>
<p>这是我的 php-custom.ini :</p>
<pre class="brush:php;toolbar:false;">max_execution_time = 500
upload_max_filesize = 40 Mo
post_max_size = 40M
limite_mémoire = 800 M
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;">DEpuis php:8.2.3-apache comme base
# Arguments définis dans docker-compose.yml
Utilisateur ARG
Uide ARG
RÉPERT TRAVAIL /app
# Installer les dépendances PHP
EXÉCUTER apt-get update && apt-get install -y
libpng-dev
zlib1g-dev
libxml2-dev
libzip-dev
libonig-dev
fermeture éclair
décompresser
paramètres régionaux
pdftk
&& sed -i -e 's/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen
&& génération locale
&& docker-php-ext-configure gd
&& docker-php-ext-install -j$(nproc) gd
&& docker-php-ext-install pdo_mysql
&& docker-php-ext-installer mysqli
&& docker-php-ext-install zip
&& docker-php-source supprimer
&& 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 LANGUE fr_FR:en
# Copiez le projet, vhost.conf, config php et installez composer
COPIE . .
COPIER docker/vhost.conf /etc/apache2/sites-available/000-default.conf
COPIER docker/custom.ini $PHP_INI_DIR/conf.d/custom.ini
COPIER --from=composer:latest /usr/bin/composer /usr/bin/composer
EXÉCUTER sed -i 's/80/${PORT}/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf
# Ajouter des autorisations
EXÉCUTER 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 $utilisateur:$utilisateur /home/$utilisateur
&& chown -R $utilisateur:$utilisateur /app
&& réécriture a2enmod
&& chmod +x docker/startup-dev.sh
&& chmod +x docker/startup-prod.sh
EXPOSER 8080
DE la base comme développement
EXÉCUTER apt-get update && apt-get install -y nano
POINT D'ENTRÉE ["docker/startup-dev.sh"]
CMD ["Apache2-premier plan"]
UTILISATEUR $utilisateur
DE la base comme production
COPIER docker/opcache.ini $PHP_INI_DIR/conf.d/opcache.ini
EXÉCUTER le cache clair du compositeur && composer install --optimize-autoloader --no-dev
POINT D'ENTRÉE ["docker/startup-prod.sh"]
CMD ["Apache2-premier plan"]
UTILISATEUR $user</pre>
<p> Le gestionnaire d'opcache utilise opcache.云运行服务有 1 个 CPU et 2 个 GO 内存。</p>
<p>我不知道如何解决这个问题。</p>
<p><strong>编辑</strong></p>
<p>当我收到错误时,我添加了 2 图表:</p>
J'ai résolu mon problème. Cela n'a rien à voir avec Cloud Run. Le problème est la configuration JIT. J'ai changé ceci :
à
D'après ceci : https://php.watch/versions/8.0/JIT#jit-opcache-jit-values J'ai aussi essayé :
Si vous ne souhaitez pas utiliser 1255, cela fonctionnera aussi. Mais j'ai utilisé
1255
parce que dans cette pull request j'ai vu beaucoup de tests unitaires avec une configuration 1255.