laravel / framework

The Laravel Framework.
https://laravel.com
MIT License
32.69k stars 11.05k forks source link

IntlException Constructor failed #52158

Closed mateusgalasso closed 4 months ago

mateusgalasso commented 4 months ago

Laravel Version

10.48.16

PHP Version

8.3.9

Database Driver & Version

Postgre 14 on Ubuntu

Description

whenever a package calls \Illuminate\Support\Number it gives this error

example \Illuminate\Support\Number::format($paginator->total())

This error is only occurring in production

follow the docker file

FROM ubuntu:22.04

LABEL maintainer="Taylor Otwell"

ARG WWWGROUP=1337
ARG NODE_VERSION=20
ARG POSTGRES_VERSION=14

WORKDIR /var/www/html

ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update\
 && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils \
 && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /usr/share/keyrings/ppa_ondrej_php.gpg > /dev/null \
 && echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ ppa_ondrej_php.list

RUN apt-get update\
 && apt-get install -y --no-install-recommends --no-install-suggests vim net-tools gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils \
 && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /usr/share/keyrings/ppa_ondrej_php.gpg > /dev/null \
 && echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ ppa_ondrej_php.list \
 && apt-get update \
 && apt-get install -y php8.3-cli php8.3-dev \
 php8.3-pgsql php8.3-sqlite3 php8.3-gd \
 php8.3-curl\
 php8.3-imap php8.3-mysql php8.3-mbstring \
 php8.3-xml php8.3-zip php8.3-bcmath php8.3-soap \
 php8.3-intl php8.3-readline \
 php8.3-ldap\
 php8.3-msgpack php8.3-igbinary php8.3-redis php8.3-swoole \
 php8.3-memcached php8.3-pcov \
 php8.3-gd \
 php8.3-imagick\
 php8.3-fileinfo\
 php8.3-fpm

# bash will load volta() function via .bashrc
# using $VOLTA_HOME/load.sh
SHELL ["/bin/bash", "-c"]

# since we're starting non-interactive shell,
# we wil need to tell bash to load .bashrc manually
ENV BASH_ENV ~/.bashrc
# needed by volta() function
ENV VOLTA_HOME /app/public/.volta
# make sure packages managed by volta will be in PATH
ENV PATH $VOLTA_HOME/bin:$PATH

RUN php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer \
 && curl https://get.volta.sh | bash\
 && back install node \
 && back install npm

# RUN ln -sf /dev/stdout /var/log/nginx/access.log \
# && ln -sf /dev/stderr /var/log/nginx/error.log \
# && ln -sf /dev/stderr /var/log/php-fpm.log

COPY deploy/app/start-container /usr/local/bin/start-container
COPY deploy/app/php.ini /etc/php/8.3/cli/conf.d/99-sail.ini
# COPY deploy/app/nginx.conf.tpl /tmp/nginx.conf.tpl
COPY deploy/app/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# COPY deploy/app/php-fpm.conf.tpl /tmp/php-fpm.conf.tpl

RUN chmod +x /usr/local/bin/start-container && chown www-data:www-data /var/www

WORKDIR /var/www/html

RUN chown -R www-data:www-data /var/www
COPY --chown=www-data:www-data . /var/www/html
COPY deploy/app/octane-start.sh ./octane-start.sh
RUN chmod +x /var/www/html/octane-start.sh

USER www-data
RUN mkdir vendor && composer install
RUN yes "yes" | php artisan octane:install --server=frankenphp
# RUN npm install && npm run build

EXPOSE 8000

USER root
ENTRYPOINT ["/usr/local/bin/start-container"]
image

Have there been any recent updates to this package?

Steps To Reproduce

Unfortunately I can't replicate the error locally

crynobone commented 4 months ago

It seems like production is misconfigured intl extension. What's the locale used on production and is it comply with intl?