Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using --watch with Laravel Octane, causes browser request to stay in waiting state #1293

Open
francoism90 opened this issue Dec 26, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@francoism90
Copy link

francoism90 commented Dec 26, 2024

What happened?

I'm using the following supervisor command to start FrankenPHP for development:

FROM docker.io/dunglas/frankenphp:php8.4-alpine

ARG UID=1000
ARG GID=$UID

ENV TZ=UTC
ENV SERVER_NAME="localhost:8080"
ENV PHP_INI_SCAN_DIR="${PHP_INI_DIR}/conf.d"
ENV SUPERVISOR_PHP_COMMAND="php -d variables_order=EGPCS /app/artisan octane:frankenphp --host=localhost --port=8080 --admin-port=2019 --caddyfile /etc/caddy/Caddyfile --watch"
ENV SUPERVISOR_PHP_USER="www-data"

WORKDIR /app

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

RUN apk update --no-cache \
    && apk upgrade --no-cache

RUN apk add --no-cache --virtual .build-deps ${PHPIZE_DEPS} \
    shadow \
    alpine-sdk \
    linux-headers \
    python3 \
    libcap

RUN usermod --non-unique --uid ${UID} www-data \
    && groupmod --non-unique --gid ${GID} www-data

RUN apk add --no-cache --virtual .run-deps \
    gnupg \
    curl \
    wget \
    nano \
    git \
    tzdata \
    nss-tools \
    ca-certificates \
    libsodium-dev \
    sqlite \
    supervisor \
    mariadb-client \
    postgresql-client \
    minio-client \
    nodejs \
    npm \
    fdk-aac \
    ffmpeg \
    gifsicle \
    gsm \
    jpegoptim \
    lame \
    libass \
    libavif \
    libogg \
    libpng \
    librsvg \
    libtheora \
    libva \
    libvdpau \
    libvorbis \
    libvpx \
    libwebp \
    numactl \
    opencore-amr \
    openjpeg \
    optipng \
    pngquant \
    speex \
    unzip \
    x264 \
    x265 \
    xvidcore \
    yarn \
    zip

RUN yarn global add svgo

RUN cp ${PHP_INI_DIR}/php.ini-development ${PHP_INI_DIR}/php.ini

RUN install-php-extensions \
    @composer \
    apcu \
    bcmath \
    bz2 \
    event \
    exif \
    ffi \
    intl \
    mbstring \
    msgpack \
    opcache \
    pcntl \
    pcov \
    pdo_mysql \
    pdo_pgsql \
    pgsql \
    redis \
    sockets \
    uv \
    zip \
    igbinary \
    gd

COPY --chown=${UID}:${GID} runtimes/php-development.ini ${PHP_INI_DIR}/conf.d/99-user.ini
COPY --chown=${UID}:${GID} runtimes/Caddyfile /etc/caddy/Caddyfile
COPY --chown=${UID}:${GID} runtimes/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY --chown=${UID}:${GID} runtimes/start-container /usr/local/bin/start-container

RUN setcap -r /usr/local/bin/frankenphp
RUN chown -R ${UID}:${GID} /data/caddy && chown -R ${UID}:${GID} /config/caddy
RUN chmod +x /usr/local/bin/start-container

RUN apk del .build-deps \
    && docker-php-source delete \
    && rm -rf /var/cache/apk/* /tmp/* /var/tmp/*

USER ${UID}

EXPOSE 8080
EXPOSE 8443
EXPOSE 2019
EXPOSE 5173
EXPOSE 6001

ENTRYPOINT ["start-container"]

For some reason, changing any PHP file causes FrankenPHP to not push the new state. It seems to refresh the workers internally, but the browser keeps waiting for 'something'. If I click the browser's refresh-button, it works fine. If I change .vue or any other resources, it works fine using hot-reloading.

Maybe I don't need the --watch parameter? The Laravel Docs, suggest the following parameters instead: --workers=1 --max-requests=1, but also this seem to also cause a hang (wait) requests.

For some reason I also need to run php artisan octane:reload sometimes. Like it doesn't fully refresh the changes.

Could you please tell me the correct parameters to use this for development? I think it's a bug, because it seem to work correctly a release ago. I did this this in Brave and Firefox, both the latest version.

Build Type

Custom (tell us more in the description)

Worker Mode

Yes

Operating System

GNU/Linux

CPU Architecture

x86_64

PHP configuration

PHP Version => 8.4.1

System => Linux 2b6d0c71e469 6.12.6-200.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 19 21:06:34 UTC 2024 x86_64
Build Date => Dec 11 2024 23:32:33
Build System => Linux - Docker
Build Provider => https://github.com/docker-library/php
Configure Command =>  './configure'  '--build=x86_64-linux-musl' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--with-pic' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-pdo-sqlite=/usr' '--with-sqlite3=/usr' '--with-curl' '--with-iconv=/usr' '--with-openssl' '--with-readline' '--with-zlib' '--enable-phpdbg' '--enable-phpdbg-readline' '--with-pear' '--enable-embed' '--enable-zts' '--disable-zend-signals' 'build_alias=x86_64-linux-musl' 'PHP_UNAME=Linux - Docker' 'PHP_BUILD_PROVIDER=https://github.com/docker-library/php'
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed => /usr/local/etc/php/conf.d/99-user.ini,
/usr/local/etc/php/conf.d/docker-php-ext-apcu.ini,
/usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini,
/usr/local/etc/php/conf.d/docker-php-ext-bz2.ini,
/usr/local/etc/php/conf.d/docker-php-ext-exif.ini,
/usr/local/etc/php/conf.d/docker-php-ext-ffi.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-igbinary.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-msgpack.ini,
/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pcov.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_pgsql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pgsql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-redis.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sockets.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-uv.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
/usr/local/etc/php/conf.d/xx-php-ext-event.ini

PHP API => 20240924
PHP Extension => 20240924
Zend Extension => 420240924
Zend Extension Build => API420240924,TS
PHP Extension Build => API20240924,TS
PHP Integer Size => 64 bits
Debug Build => no
Thread Safety => enabled
Thread API => POSIX Threads
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
Zend Max Execution Timers => enabled
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
Registered Stream Filters => zlib.*, convert.iconv.*, bzip2.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk

This program makes use of the Zend Scripting Language Engine:
Zend Engine v4.4.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies


 _______________________________________________________________________


Configuration

apcu

APCu Support => Disabled
Version => 5.1.24
APCu Debugging => Disabled
MMAP Support => Enabled
MMAP File Mask =>  
Serialization Support => Disabled
Build Date => Dec 26 2024 12:57:02

Directive => Local Value => Master Value
apc.coredump_unmap => Off => Off
apc.enable_cli => Off => Off
apc.enabled => On => On
apc.entries_hint => 4096 => 4096
apc.gc_ttl => 3600 => 3600
apc.mmap_file_mask => no value => no value
apc.preload_path => no value => no value
apc.serializer => php => php
apc.shm_segments => 1 => 1
apc.shm_size => 32M => 32M
apc.slam_defense => Off => Off
apc.smart => 0 => 0
apc.ttl => 0 => 0
apc.use_request_time => Off => Off

bcmath

BCMath support => enabled

Directive => Local Value => Master Value
bcmath.scale => 0 => 0

bz2

BZip2 Support => Enabled
Stream Wrapper support => compress.bzip2://
Stream Filter support => bzip2.decompress, bzip2.compress
BZip2 Version => 1.0.8, 13-Jul-2019

Core

PHP Version => 8.4.1

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => Off => STDOUT
display_startup_errors => On => On
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_log_mode => 0644 => 0644
error_prepend_string => no value => no value
error_reporting => -1 => 30719
expose_php => Off => Off
extension_dir => /usr/local/lib/php/extensions/no-debug-zts-20240924 => /usr/local/lib/php/extensions/no-debug-zts-20240924
fiber.stack_size => no value => no value
file_uploads => On => On
hard_timeout => 2 => 2
highlight.comment => <span style="color: #FF8000">#FF8000</span> => <span style="color: #FF8000">#FF8000</span>
highlight.default => <span style="color: #0000BB">#0000BB</span> => <span style="color: #0000BB">#0000BB</span>
highlight.html => <span style="color: #000000">#000000</span> => <span style="color: #000000">#000000</span>
highlight.keyword => <span style="color: #007700">#007700</span> => <span style="color: #007700">#007700</span>
highlight.string => <span style="color: #DD0000">#DD0000</span> => <span style="color: #DD0000">#DD0000</span>
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/local/lib/php => .:/usr/local/lib/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
mail.add_x_header => Off => Off
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
mail.mixed_lf_and_crlf => Off => Off
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
max_multipart_body_parts => -1 => -1
memory_limit => 512M => 512M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 100M => 100M
precision => 14 => 14
realpath_cache_size => 4096K => 4096K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
serialize_precision => -1 => -1
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sys_temp_dir => no value => no value
syslog.facility => LOG_USER => LOG_USER
syslog.filter => no-ctrl => no-ctrl
syslog.ident => php => php
unserialize_callback_func => no value => no value
upload_max_filesize => 100M => 100M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => EGPCS => EGPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => 1 => 1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.exception_ignore_args => Off => Off
zend.exception_string_param_max_len => 15 => 15
zend.max_allowed_stack_size => 0 => 0
zend.multibyte => Off => Off
zend.reserved_stack_size => 0 => 0
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 8.11.1
Age => 11
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => No
SPNEGO => No
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => Yes
GSSAPI => No
KERBEROS5 => No
UNIX_SOCKETS => Yes
PSL => Yes
HTTPS_PROXY => Yes
MULTI_SSL => No
BROTLI => Yes
ALTSVC => Yes
HTTP3 => No
UNICODE => No
ZSTD => Yes
HSTS => Yes
GSASL => No
Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, mqtt, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp, ws, wss
Host => x86_64-alpine-linux-musl
SSL Version => OpenSSL/3.3.2
ZLib Version => 1.3.1

Directive => Local Value => Master Value
curl.cainfo => no value => no value

date

date/time support => enabled
timelib version => 2022.12
"Olson" Timezone Database Version => 2024.2
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.833333 => 90.833333
date.sunset_zenith => 90.833333 => 90.833333
date.timezone => UTC => UTC

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.13.4
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

event

Event support => enabled
Sockets support => enabled
Debug support => disabled
Extra functionality support including HTTP, DNS, and RPC => enabled
OpenSSL support => enabled
Thread safety support => enabled
Extension version => 3.1.4
libevent2 headers version => 2.1.12-stable

exif

EXIF Support => enabled
Supported EXIF Version => 0220
Supported filetypes => JPEG, TIFF
Multibyte decoding support using mbstring => enabled
Extended EXIF tag formats => Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson

Directive => Local Value => Master Value
exif.decode_jis_intel => JIS => JIS
exif.decode_jis_motorola => JIS => JIS
exif.decode_unicode_intel => UCS-2LE => UCS-2LE
exif.decode_unicode_motorola => UCS-2BE => UCS-2BE
exif.encode_jis => no value => no value
exif.encode_unicode => ISO-8859-15 => ISO-8859-15

FFI

FFI support => enabled

Directive => Local Value => Master Value
ffi.enable => preload => preload
ffi.preload => no value => no value

fileinfo

fileinfo support => enabled
libmagic => 545

filter

Input Validation and Filtering => enabled

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

gd

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.13.3
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 8
PNG Support => enabled
libPNG Version => 1.6.44
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled
WebP Support => enabled
BMP Support => enabled
AVIF Support => enabled
TGA Read Support => enabled

Directive => Local Value => Master Value
gd.jpeg_ignore_warning => On => On

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => libiconv
iconv library version => 1.17

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

igbinary

igbinary support => enabled
igbinary version => 3.2.16
igbinary APCu serializer ABI => 0
igbinary session support => yes

Directive => Local Value => Master Value
igbinary.compact_strings => On => On

intl

Internationalization support => enabled
ICU version => 74.2
ICU Data version => 74.2
ICU TZData version => 2023c
ICU Unicode version => 15.1

Directive => Local Value => Master Value
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => Off => Off

json

json support => enabled

libxml

libXML support => active
libXML Compiled Version => 2.13.4
libXML Loaded Version => 21304
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 6.9.9

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.regex_retry_limit => 1000000 => 1000000
mbstring.regex_stack_limit => 100000 => 100000
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

msgpack

MessagePack Support => enabled
Session Support => enabled
MessagePack APCu Serializer ABI => 0
extension Version => 3.0.0
header Version => 3.2.0

Directive => Local Value => Master Value
msgpack.assoc => On => On
msgpack.error_display => On => On
msgpack.illegal_key_insert => Off => Off
msgpack.php_only => On => On
msgpack.use_str8_serialization => On => On

mysqlnd

mysqlnd => enabled
Version => mysqlnd 8.4.1
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 86400
Collecting statistics => Yes
Collecting memory statistics => Yes
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
API Extensions => pdo_mysql

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 3.3.2 3 Sep 2024
OpenSSL Header Version => OpenSSL 3.3.2 3 Sep 2024
Openssl default config => /etc/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcntl

pcntl support => enabled

pcov

PCOV support => Enabled
PCOV version => 1.0.12
pcov.directory => /app/src
pcov.exclude => none
pcov.initial.memory => 65336 bytes
pcov.initial.files => 64

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 10.44 2024-06-07
PCRE Unicode Version => 15.0.0
PCRE JIT Support => enabled
PCRE JIT Target => x86 64bit (little endian + unaligned)

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => On => On
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => sqlite, mysql, pgsql

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 8.4.1

Directive => Local Value => Master Value
pdo_mysql.default_socket => no value => no value

pdo_pgsql

PDO Driver for PostgreSQL => enabled
PostgreSQL(libpq) Version => 17.2

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.47.1

pgsql

PostgreSQL Support => enabled
PostgreSQL (libpq) Version => 17.2
Multibyte character support => enabled
Active Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
pgsql.allow_persistent => On => On
pgsql.auto_reset_persistent => Off => Off
pgsql.ignore_notice => Off => Off
pgsql.log_notice => Off => Off
pgsql.max_links => Unlimited => Unlimited
pgsql.max_persistent => Unlimited => Unlimited

Phar

Phar: PHP Archive support => enabled
Phar API version => 1.1.1
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => enabled
Native OpenSSL support => enabled


Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

posix

POSIX support => enabled

random

Version => 8.4.1

readline

Readline Support => enabled
Readline library => 8.2

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \> 

redis

Redis Support => enabled
Redis Version => 6.1.0
Redis Sentinel Version => 1.0
Available serializers => php, json, igbinary, msgpack
Available compression => lzf, zstd, lz4

Directive => Local Value => Master Value
redis.arrays.algorithm => no value => no value
redis.arrays.auth => no value => no value
redis.arrays.autorehash => 0 => 0
redis.arrays.connecttimeout => 0 => 0
redis.arrays.consistent => 0 => 0
redis.arrays.distributor => no value => no value
redis.arrays.functions => no value => no value
redis.arrays.hosts => no value => no value
redis.arrays.index => 0 => 0
redis.arrays.lazyconnect => 0 => 0
redis.arrays.names => no value => no value
redis.arrays.pconnect => 0 => 0
redis.arrays.previous => no value => no value
redis.arrays.readtimeout => 0 => 0
redis.arrays.retryinterval => 0 => 0
redis.clusters.auth => no value => no value
redis.clusters.cache_slots => 0 => 0
redis.clusters.persistent => 0 => 0
redis.clusters.read_timeout => 0 => 0
redis.clusters.seeds => no value => no value
redis.clusters.timeout => 0 => 0
redis.pconnect.connection_limit => 0 => 0
redis.pconnect.echo_check_liveness => 1 => 1
redis.pconnect.pool_detect_dirty => 0 => 0
redis.pconnect.pool_pattern => no value => no value
redis.pconnect.pool_poll_timeout => 0 => 0
redis.pconnect.pooling_enabled => 1 => 1
redis.session.compression => none => none
redis.session.compression_level => 3 => 3
redis.session.early_refresh => 0 => 0
redis.session.lock_expire => 0 => 0
redis.session.lock_retries => 100 => 100
redis.session.lock_wait_time => 20000 => 20000
redis.session.locking_enabled => 0 => 0

Reflection

Reflection => enabled

session

Session Support => enabled
Registered save handlers => files user redis rediscluster 
Registered serializer handlers => php_serialize php php_binary igbinary msgpack 

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => Off => Off
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => no value => no value
session.serialize_handler => php => php
session.sid_bits_per_character => 4 => 4
session.sid_length => 32 => 32
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => Off => Off

SimpleXML

SimpleXML support => enabled
Schema support => enabled

sockets

Sockets Support => enabled

sodium

sodium support => enabled
libsodium headers version => 1.0.20
libsodium library version => 1.0.20

SPL

SPL support => enabled
Interfaces => OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 support => enabled
SQLite Library => 3.47.1

Directive => Local Value => Master Value
sqlite3.defensive => On => On
sqlite3.extension_dir => no value => no value

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i

Directive => Local Value => Master Value
assert.active => On => On
assert.bail => Off => Off
assert.callback => no value => no value
assert.exception => On => On
assert.warning => On => On
auto_detect_line_endings => Off => Off
default_socket_timeout => 60 => 60
from => no value => no value
session.trans_sid_hosts => no value => no value
session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form=
unserialize_max_depth => 4096 => 4096
url_rewriter.hosts => no value => no value
url_rewriter.tags => form= => form=
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

uv
PHP libuv Extension

libuv Support => enabled
Version => 0.3.0
libuv Version => 1.49

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.13.4

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

Zend OPcache

Opcode Caching => Disabled
Optimization => Disabled
SHM Cache => Enabled
File Cache => Disabled
JIT => Disabled

Directive => Local Value => Master Value
opcache.blacklist_filename => no value => no value
opcache.dups_fix => Off => Off
opcache.enable => Off => Off
opcache.enable_cli => Off => Off
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => On => On
opcache.file_cache_only => Off => Off
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.interned_strings_buffer => 8 => 8
opcache.jit => disable => disable
opcache.jit_bisect_limit => 0 => 0
opcache.jit_blacklist_root_trace => 16 => 16
opcache.jit_blacklist_side_trace => 8 => 8
opcache.jit_buffer_size => 64M => 64M
opcache.jit_debug => 0 => 0
opcache.jit_hot_func => 127 => 127
opcache.jit_hot_loop => 64 => 64
opcache.jit_hot_return => 8 => 8
opcache.jit_hot_side_exit => 8 => 8
opcache.jit_max_exit_counters => 8192 => 8192
opcache.jit_max_loop_unrolls => 8 => 8
opcache.jit_max_polymorphic_calls => 2 => 2
opcache.jit_max_recursive_calls => 2 => 2
opcache.jit_max_recursive_returns => 2 => 2
opcache.jit_max_root_traces => 1024 => 1024
opcache.jit_max_side_traces => 128 => 128
opcache.jit_max_trace_length => 1024 => 1024
opcache.jit_prof_threshold => 0.005 => 0.005
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 10000 => 10000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 128 => 128
opcache.opt_debug_level => 0 => 0
opcache.optimization_level => 0x7FFEBFFF => 0x7FFEBFFF
opcache.preferred_memory_model => no value => no value
opcache.preload => no value => no value
opcache.preload_user => no value => no value
opcache.protect_memory => Off => Off
opcache.record_warnings => Off => Off
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 2 => 2
opcache.revalidate_path => Off => Off
opcache.save_comments => On => On
opcache.use_cwd => On => On
opcache.validate_permission => Off => Off
opcache.validate_root => Off => Off
opcache.validate_timestamps => On => On

zip

Zip => enabled
Zip version => 1.22.4
Libzip version => 1.11.2
BZIP2 compression => Yes
XZ compression => Yes
ZSTD compression => Yes
AES-128 encryption => Yes
AES-192 encryption => Yes
AES-256 encryption => Yes

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.3.1
Linked Version => 1.3.1

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
container => podman
PHP_CFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_VERSION => 8.4.1
TZ => UTC
SERVER_NAME => localhost:8080
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPS => autoconf 		dpkg-dev dpkg 		file 		g++ 		gcc 		libc-dev 		make 		pkgconf 		re2c
PHP_ASC_URL => https://www.php.net/distributions/php-8.4.1.tar.xz.asc
XDG_DATA_HOME => /data
PHP_SHA256 => 94c8a4fd419d45748951fa6d73bd55f6bdf0adaefb8814880a67baa66027311f
GODEBUG => cgocheck=0
SUPERVISOR_PHP_USER => www-data
XDG_CONFIG_HOME => /config
PHP_CPPFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_INI_DIR => /usr/local/etc/php
PHP_URL => https://www.php.net/distributions/php-8.4.1.tar.xz
GPG_KEYS => AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
PHP_LDFLAGS => -Wl,-O1 -pie
SUPERVISOR_PHP_COMMAND => php -d variables_order=EGPCS /app/artisan octane:frankenphp --host=localhost --port=8080 --admin-port=2019 --caddyfile /etc/caddy/Caddyfile --watch
PHP_INI_SCAN_DIR => /usr/local/etc/php/conf.d
TERM => xterm
HOME => /home/www-data
APP_NAME => Laravel
APP_ENV => local
APP_KEY => 
APP_DEBUG => true
APP_TIMEZONE => UTC
APP_URL => https://project.lan
APP_LOCALE => en
APP_FALLBACK_LOCALE => en
APP_FAKER_LOCALE => en_US
APP_MAINTENANCE_DRIVER => file
APP_MAINTENANCE_STORE => database
PHP_CLI_SERVER_WORKERS => 4
BCRYPT_ROUNDS => 12
LOG_CHANNEL => stack
LOG_STACK => single
LOG_DEPRECATIONS_CHANNEL => null
LOG_LEVEL => debug
DB_CONNECTION => pgsql
DB_HOST => systemd-project-pgsql
DB_PORT => 5432
DB_DATABASE => project
DB_USERNAME => user
DB_PASSWORD => password
SESSION_DRIVER => redis
SESSION_LIFETIME => 604800
SESSION_ENCRYPT => true
SESSION_PATH => /
SESSION_DOMAIN => .project.lan
BROADCAST_CONNECTION => reverb
FILESYSTEM_DISK => local
QUEUE_CONNECTION => redis
CACHE_STORE => redis
CACHE_PREFIX =>  
MEMCACHED_HOST => 127.0.0.1
REDIS_CLIENT => phpredis
REDIS_HOST => systemd-project-redis
REDIS_PASSWORD => null
REDIS_PORT => 6379
MAIL_MAILER => smtp
MAIL_HOST => systemd-project-mailpit
MAIL_PORT => 1025
MAIL_USERNAME => null
MAIL_PASSWORD => null
MAIL_ENCRYPTION => null
MAIL_FROM_ADDRESS => [email protected]
MAIL_FROM_NAME => Laravel
AWS_ACCESS_KEY_ID => 
AWS_SECRET_ACCESS_KEY => 
AWS_DEFAULT_REGION => nl-ams-3
AWS_BUCKET => local
AWS_ENDPOINT => http://systemd-project-minio:9000
AWS_URL => https://s3.project.lan
AWS_USE_PATH_STYLE_ENDPOINT => true
SANCTUM_STATEFUL_DOMAINS => project.lan,*.project.lan,project.lan:5173,*.project.lan:5173
REVERB_APP_ID => 
REVERB_APP_KEY => 
REVERB_APP_SECRET => 
REVERB_HOST => localhost
REVERB_PORT => 6001
REVERB_SCHEME => http
VITE_APP_NAME => Laravel
VITE_APP_URL => https://project.lan
VITE_REVERB_APP_KEY => 
VITE_REVERB_HOST => ws.project.lan
VITE_REVERB_PORT => 443
VITE_REVERB_SCHEME => https
SCOUT_DRIVER => meilisearch
SCOUT_QUEUE => true
TELESCOPE_ENABLED => true
MEILISEARCH_HOST => http://systemd-project-meilisearch:7700
MEILISEARCH_KEY => 
SHELL_VERBOSITY => 0
LINES => 58
COLUMNS => 178

PHP Variables

Variable => Value
$_SERVER['container'] => podman
$_SERVER['PHP_CFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PHP_VERSION'] => 8.4.1
$_SERVER['TZ'] => UTC
$_SERVER['SERVER_NAME'] => localhost:8080
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['PHPIZE_DEPS'] => autoconf 		dpkg-dev dpkg 		file 		g++ 		gcc 		libc-dev 		make 		pkgconf 		re2c
$_SERVER['PHP_ASC_URL'] => https://www.php.net/distributions/php-8.4.1.tar.xz.asc
$_SERVER['XDG_DATA_HOME'] => /data
$_SERVER['PHP_SHA256'] => 94c8a4fd419d45748951fa6d73bd55f6bdf0adaefb8814880a67baa66027311f
$_SERVER['GODEBUG'] => cgocheck=0
$_SERVER['SUPERVISOR_PHP_USER'] => www-data
$_SERVER['XDG_CONFIG_HOME'] => /config
$_SERVER['PHP_CPPFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PHP_INI_DIR'] => /usr/local/etc/php
$_SERVER['PHP_URL'] => https://www.php.net/distributions/php-8.4.1.tar.xz
$_SERVER['GPG_KEYS'] => AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
$_SERVER['PHP_LDFLAGS'] => -Wl,-O1 -pie
$_SERVER['SUPERVISOR_PHP_COMMAND'] => php -d variables_order=EGPCS /app/artisan octane:frankenphp --host=localhost --port=8080 --admin-port=2019 --caddyfile /etc/caddy/Caddyfile --watch
$_SERVER['PHP_INI_SCAN_DIR'] => /usr/local/etc/php/conf.d
$_SERVER['TERM'] => xterm
$_SERVER['HOME'] => /home/www-data
$_SERVER['PHP_SELF'] => artisan
$_SERVER['SCRIPT_NAME'] => artisan
$_SERVER['SCRIPT_FILENAME'] => artisan
$_SERVER['PATH_TRANSLATED'] => artisan
$_SERVER['DOCUMENT_ROOT'] => 
$_SERVER['REQUEST_TIME_FLOAT'] => 1735221234.4434
$_SERVER['REQUEST_TIME'] => 1735221234
$_SERVER['argv'] => Array
(
    [0] => artisan
    [1] => tinker
)

$_SERVER['argc'] => 2
$_SERVER['APP_NAME'] => Laravel
$_SERVER['APP_ENV'] => local
$_SERVER['APP_KEY'] =>
$_SERVER['APP_DEBUG'] => true
$_SERVER['APP_TIMEZONE'] => UTC
$_SERVER['APP_URL'] => https://project.lan
$_SERVER['APP_LOCALE'] => en
$_SERVER['APP_FALLBACK_LOCALE'] => en
$_SERVER['APP_FAKER_LOCALE'] => en_US
$_SERVER['APP_MAINTENANCE_DRIVER'] => file
$_SERVER['APP_MAINTENANCE_STORE'] => database
$_SERVER['PHP_CLI_SERVER_WORKERS'] => 4
$_SERVER['BCRYPT_ROUNDS'] => 12
$_SERVER['LOG_CHANNEL'] => stack
$_SERVER['LOG_STACK'] => single
$_SERVER['LOG_DEPRECATIONS_CHANNEL'] => null
$_SERVER['LOG_LEVEL'] => debug
$_SERVER['DB_CONNECTION'] => pgsql
$_SERVER['DB_HOST'] => systemd-project-pgsql
$_SERVER['DB_PORT'] => 5432
$_SERVER['DB_DATABASE'] => project
$_SERVER['DB_USERNAME'] => user
$_SERVER['DB_PASSWORD'] => password
$_SERVER['SESSION_DRIVER'] => redis
$_SERVER['SESSION_LIFETIME'] => 604800
$_SERVER['SESSION_ENCRYPT'] => true
$_SERVER['SESSION_PATH'] => /
$_SERVER['SESSION_DOMAIN'] => .project.lan
$_SERVER['BROADCAST_CONNECTION'] => reverb
$_SERVER['FILESYSTEM_DISK'] => local
$_SERVER['QUEUE_CONNECTION'] => redis
$_SERVER['CACHE_STORE'] => redis
$_SERVER['CACHE_PREFIX'] => 
$_SERVER['MEMCACHED_HOST'] => 127.0.0.1
$_SERVER['REDIS_CLIENT'] => phpredis
$_SERVER['REDIS_HOST'] => systemd-project-redis
$_SERVER['REDIS_PASSWORD'] => null
$_SERVER['REDIS_PORT'] => 6379
$_SERVER['MAIL_MAILER'] => smtp
$_SERVER['MAIL_HOST'] => systemd-project-mailpit
$_SERVER['MAIL_PORT'] => 1025
$_SERVER['MAIL_USERNAME'] => null
$_SERVER['MAIL_PASSWORD'] => null
$_SERVER['MAIL_ENCRYPTION'] => null
$_SERVER['MAIL_FROM_ADDRESS'] => [email protected]
$_SERVER['MAIL_FROM_NAME'] => Laravel
$_SERVER['AWS_ACCESS_KEY_ID'] => 
$_SERVER['AWS_SECRET_ACCESS_KEY'] => 
$_SERVER['AWS_DEFAULT_REGION'] => nl-ams-3
$_SERVER['AWS_BUCKET'] => local
$_SERVER['AWS_ENDPOINT'] => http://systemd-project-minio:9000
$_SERVER['AWS_URL'] => https://s3.project.lan
$_SERVER['AWS_USE_PATH_STYLE_ENDPOINT'] => true
$_SERVER['SANCTUM_STATEFUL_DOMAINS'] => project.lan,*.project.lan,project.lan:5173,*.project.lan:5173
$_SERVER['REVERB_APP_ID'] => 
$_SERVER['REVERB_APP_KEY'] => 
$_SERVER['REVERB_APP_SECRET'] => 
$_SERVER['REVERB_HOST'] => localhost
$_SERVER['REVERB_PORT'] => 6001
$_SERVER['REVERB_SCHEME'] => http
$_SERVER['VITE_APP_NAME'] => Laravel
$_SERVER['VITE_APP_URL'] => https://project.lan
$_SERVER['VITE_REVERB_APP_KEY'] => 
$_SERVER['VITE_REVERB_HOST'] => ws.project.lan
$_SERVER['VITE_REVERB_PORT'] => 443
$_SERVER['VITE_REVERB_SCHEME'] => https
$_SERVER['SCOUT_DRIVER'] => meilisearch
$_SERVER['SCOUT_QUEUE'] => true
$_SERVER['TELESCOPE_ENABLED'] => true
$_SERVER['MEILISEARCH_HOST'] => http://systemd-project-meilisearch:7700
$_SERVER['MEILISEARCH_KEY'] => 
$_SERVER['SHELL_VERBOSITY'] => 0
$_ENV['container'] => podman
$_ENV['PHP_CFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_ENV['PHP_VERSION'] => 8.4.1
$_ENV['TZ'] => UTC
$_ENV['SERVER_NAME'] => localhost:8080
$_ENV['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_ENV['PHPIZE_DEPS'] => autoconf 		dpkg-dev dpkg 		file 		g++ 		gcc 		libc-dev 		make 		pkgconf 		re2c
$_ENV['PHP_ASC_URL'] => https://www.php.net/distributions/php-8.4.1.tar.xz.asc
$_ENV['XDG_DATA_HOME'] => /data
$_ENV['PHP_SHA256'] => 94c8a4fd419d45748951fa6d73bd55f6bdf0adaefb8814880a67baa66027311f
$_ENV['GODEBUG'] => cgocheck=0
$_ENV['SUPERVISOR_PHP_USER'] => www-data
$_ENV['XDG_CONFIG_HOME'] => /config
$_ENV['PHP_CPPFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_ENV['PHP_INI_DIR'] => /usr/local/etc/php
$_ENV['PHP_URL'] => https://www.php.net/distributions/php-8.4.1.tar.xz
$_ENV['GPG_KEYS'] => AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
$_ENV['PHP_LDFLAGS'] => -Wl,-O1 -pie
$_ENV['SUPERVISOR_PHP_COMMAND'] => php -d variables_order=EGPCS /app/artisan octane:frankenphp --host=localhost --port=8080 --admin-port=2019 --caddyfile /etc/caddy/Caddyfile --watch
$_ENV['PHP_INI_SCAN_DIR'] => /usr/local/etc/php/conf.d
$_ENV['TERM'] => xterm
$_ENV['HOME'] => /home/www-data
$_ENV['APP_NAME'] => Laravel
$_ENV['APP_ENV'] => local
$_ENV['APP_KEY'] => 
$_ENV['APP_DEBUG'] => true
$_ENV['APP_TIMEZONE'] => UTC
$_ENV['APP_URL'] => https://project.lan
$_ENV['APP_LOCALE'] => en
$_ENV['APP_FALLBACK_LOCALE'] => en
$_ENV['APP_FAKER_LOCALE'] => en_US
$_ENV['APP_MAINTENANCE_DRIVER'] => file
$_ENV['APP_MAINTENANCE_STORE'] => database
$_ENV['PHP_CLI_SERVER_WORKERS'] => 4
$_ENV['BCRYPT_ROUNDS'] => 12
$_ENV['LOG_CHANNEL'] => stack
$_ENV['LOG_STACK'] => single
$_ENV['LOG_DEPRECATIONS_CHANNEL'] => null
$_ENV['LOG_LEVEL'] => debug
$_ENV['DB_CONNECTION'] => pgsql
$_ENV['DB_HOST'] => systemd-project-pgsql
$_ENV['DB_PORT'] => 5432
$_ENV['DB_DATABASE'] => project
$_ENV['DB_USERNAME'] => user
$_ENV['DB_PASSWORD'] => password
$_ENV['SESSION_DRIVER'] => redis
$_ENV['SESSION_LIFETIME'] => 604800
$_ENV['SESSION_ENCRYPT'] => true
$_ENV['SESSION_PATH'] => /
$_ENV['SESSION_DOMAIN'] => .project.lan
$_ENV['BROADCAST_CONNECTION'] => reverb
$_ENV['FILESYSTEM_DISK'] => local
$_ENV['QUEUE_CONNECTION'] => redis
$_ENV['CACHE_STORE'] => redis
$_ENV['CACHE_PREFIX'] => 
$_ENV['MEMCACHED_HOST'] => 127.0.0.1
$_ENV['REDIS_CLIENT'] => phpredis
$_ENV['REDIS_HOST'] => systemd-project-redis
$_ENV['REDIS_PASSWORD'] => null
$_ENV['REDIS_PORT'] => 6379
$_ENV['MAIL_MAILER'] => smtp
$_ENV['MAIL_HOST'] => systemd-project-mailpit
$_ENV['MAIL_PORT'] => 1025
$_ENV['MAIL_USERNAME'] => null
$_ENV['MAIL_PASSWORD'] => null
$_ENV['MAIL_ENCRYPTION'] => null
$_ENV['MAIL_FROM_ADDRESS'] => [email protected]
$_ENV['MAIL_FROM_NAME'] => Laravel
$_ENV['AWS_ACCESS_KEY_ID'] => 
$_ENV['AWS_SECRET_ACCESS_KEY'] => 
$_ENV['AWS_DEFAULT_REGION'] => nl-ams-3
$_ENV['AWS_BUCKET'] => local
$_ENV['AWS_ENDPOINT'] => http://systemd-project-minio:9000
$_ENV['AWS_URL'] => https://s3.project.lan
$_ENV['AWS_USE_PATH_STYLE_ENDPOINT'] => true
$_ENV['SANCTUM_STATEFUL_DOMAINS'] => project.lan,*.project.lan,project.lan:5173,*.project.lan:5173
$_ENV['REVERB_APP_ID'] => 
$_ENV['REVERB_APP_KEY'] => 
$_ENV['REVERB_APP_SECRET'] => 
$_ENV['REVERB_HOST'] => localhost
$_ENV['REVERB_PORT'] => 6001
$_ENV['REVERB_SCHEME'] => http
$_ENV['VITE_APP_NAME'] => Laravel
$_ENV['VITE_APP_URL'] => https://project.lan
$_ENV['VITE_REVERB_APP_KEY'] => 
$_ENV['VITE_REVERB_HOST'] => ws.project.lan
$_ENV['VITE_REVERB_PORT'] => 443
$_ENV['VITE_REVERB_SCHEME'] => https
$_ENV['SCOUT_DRIVER'] => meilisearch
$_ENV['SCOUT_QUEUE'] => true
$_ENV['TELESCOPE_ENABLED'] => true
$_ENV['MEILISEARCH_HOST'] => http://systemd-project-meilisearch:7700
$_ENV['MEILISEARCH_KEY'] =>
$_ENV['SHELL_VERBOSITY'] => 0

Relevant log output

INFO  Application change detected. Restarting workers….

This is shown, but no GET request is later shown.. unless I manually restart the server.

@francoism90 francoism90 added the bug Something isn't working label Dec 26, 2024
@francoism90
Copy link
Author

francoism90 commented Dec 26, 2024

Hmm, could it be an issue with supervisor?

I have removed the stopasgroup and killasgroup options, and this seems to improve the reloading:

[supervisord]
nodaemon=true
user=%(ENV_SUPERVISOR_PHP_USER)s
logfile=/dev/null
logfile_maxbytes=0
logfile_backups=0
pidfile=/tmp/supervisord.pid
minfds=10000

[unix_http_server]
file=/tmp/supervisor.sock
chmod=0777

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface

[program:octane]
command=%(ENV_SUPERVISOR_PHP_COMMAND)s
user=%(ENV_SUPERVISOR_PHP_USER)s
environment=LARAVEL_OCTANE="1"
autostart=true
autorestart=true
priority=100
stopwaitsecs=3600
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:reverb]
command=php -d variables_order=EGPCS /app/artisan reverb:start
user=%(ENV_SUPERVISOR_PHP_USER)s
autostart=true
autorestart=true
priority=200
stopwaitsecs=3600
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:horizon]
command=php -d variables_order=EGPCS /app/artisan horizon
user=%(ENV_SUPERVISOR_PHP_USER)s
autostart=true
autorestart=true
priority=300
stopwaitsecs=3600
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:schedule]
command=php -d variables_order=EGPCS /app/artisan schedule:work
user=%(ENV_SUPERVISOR_PHP_USER)s
autostart=true
autorestart=true
priority=400
stopwaitsecs=3600
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

To start FrankenPHP in the container:

php -d variables_order=EGPCS /app/artisan octane:frankenphp --caddyfile=/etc/caddy/Caddyfile --host=localhost --port=8080 --admin-port=2019 --workers=1 --max-requests=1 --watch

I'm now limiting both the works to 1 and using the watch flag.

@AlliBalliBaba
Copy link
Collaborator

I think Laravel Octane uses chokidar for worker reloading. Have you tried using the new built in watcher instead? You'll need to configure 'watch' in your own Caddyfile, but it will reload more gracefully .

@francoism90
Copy link
Author

@AlliBalliBaba Thanks! I did read about this, but in another issue it wasn't advised for Laravel Octane, and reload using --watch instead?

I have disabled all caches, including opcache, and that also seems to help as well.

Weird, if you do recommend the new watcher, I'll check it out instead. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants