Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129378 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 231C51A00BC for ; Fri, 21 Nov 2025 19:42:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763754178; bh=lWNUs7dTK1JxgN4gablFzTz/Zm2ynqUQKlNtb9bjUbQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=GRXpEsNBVVODM2PI0sD2Yzid7VI2EXGZ0EkQSE6rvqwfKrj3t9Mzo5M5ePM6/jvXx bu6/QWoTZAjT/muyGnL0PwEN6x5LJRRP5tv8aO9ayYr6atfNctP9Y1vTVfLkpilU/R 2YXz/ny6HK6cSHHo/5oVrozUjkay2Xsj4+hySVzfolfVKuSGbsH8r7dX7O6uHcvYhD DOE/5L814lPl62OM4b6gzmetjwY0pc8dik2I9jvi+G1OZzjN0GIqfxxIpkp9aXtOR1 S3+T12gyCfHYSmoFG4Yo22ki7YXu9Un53F3ApX6NythxTNPiTglyCcBvtoFHk/sExx tq3wyasRoUOZw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CA47F1801C7 for ; Fri, 21 Nov 2025 19:42:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-oo1-f41.google.com (mail-oo1-f41.google.com [209.85.161.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 21 Nov 2025 19:42:57 +0000 (UTC) Received: by mail-oo1-f41.google.com with SMTP id 006d021491bc7-65363319bacso984256eaf.2 for ; Fri, 21 Nov 2025 11:42:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763754172; x=1764358972; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=lWNUs7dTK1JxgN4gablFzTz/Zm2ynqUQKlNtb9bjUbQ=; b=dt6AsHt4WbOrfo46JVu294I1PM24wAQclp9kiSEO+fq1a5u77nl3PkE+EQdqfu8LY/ tG5l4OIr+KQgm9ZQrBdcDuvC4g1JjVsMd6snclHmac/uXF+wGeGVk2PpyOw/utjvj5ou uZ/z+ZbLEfLIl+LkQ/D+29FS/qNFYCdeegmmX0bzEwkKKVRyIBlcNrxPwlEcJIjqxwBn rRwQQNTzlsq1KKkWMkVPi3SUeAiIAqTvsEqwmWfUBz6aaK69kaoio6rv6u3D+Jkzs4Sa K7X3mfuXlJaYPEvf05wlyhneuVYUp2dbzheTaVp/Od0vdZITTVB9fPA3EnCxwM7URtt1 DiHQ== X-Forwarded-Encrypted: i=1; AJvYcCWShIHc2pmpw6jyD5E1TnSmUcjD6FunuN5neo8KIz92NAlt2mAHv4Gh7uaILUOBhrTNBj92j15F/RM=@lists.php.net X-Gm-Message-State: AOJu0YxUdrGGZfUEdxLniEJ/zr2dLq1pPzCT0CdIfzO+fd8dDajduZ1A q6bphdQwEFjNvsFtFJkuX+9WYwh6JH/jB2+rI+HroHVeEG2qcg/4Tnx4hfU/0EcaTIEB7dZdvTi NEtrRjPRYwOAp8fLNm4c9dQZdjoV5lkE= X-Gm-Gg: ASbGncuZq214J9rOXZXKq0IZLgAlUIN7a0rGWqKTm7RyvevInciLzwHVl5U8L0wOGby A0GcYmPN8GE4vbTQtllk6+FoOafKXSYBiar6NrMj4cu3dctH1CfBFzH+qAIPrMXhghbN5Qb8ls3 RRF14ljaQ22DxmpxJU25G0SRcgKzLMu7MQEHVM9XLMF7E7EQx8ccZxfPrRnTduWFdVLRSwuXQdc +FcpdXyFV8+6HdOYFVTYZjpBazAYjmtodjaBuHMRkufP9oAhF7+sQbS5JKmOIHzcUeoI0H6654W 09Th6hbeN3V1+Npp2YRwotUeEGxyLQ== X-Google-Smtp-Source: AGHT+IHeNMPgdkJoRvd+HtN8tr6z97EvZAkv49P80QT5DD/witS1L/5Q39EqyG0WFXppZWYttIqbcdvnLcWh7wIY0FQ= X-Received: by 2002:a05:6808:444a:b0:44d:a3d4:902f with SMTP id 5614622812f47-45112d4934amr1437788b6e.52.1763754171801; Fri, 21 Nov 2025 11:42:51 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 21 Nov 2025 20:42:40 +0100 X-Gm-Features: AWmQ_bnryZgmC8T6QmRtq_D_YsKgK43ULYZtxNsJ2A4rHWRe5AgWrgsmz3qprmk Message-ID: Subject: Re: [PHP-DEV] [VOTE] True Async RFC 1.6 To: Edmond Dantes Cc: Deleu , "Rowan Tommins [IMSoP]" , internals@lists.php.net Content-Type: multipart/alternative; boundary="000000000000e1a54d0644200452" From: bukka@php.net (Jakub Zelenka) --000000000000e1a54d0644200452 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Nov 21, 2025 at 3:22=E2=80=AFPM Edmond Dantes = wrote: > Hello > > > how do I keep my project always-sync without risking one of my composer > packages suddenly calling spawn() and causing bugs I have no idea how to > even begin to understand? > > This idea was mentioned a bit earlier in the discussion. You can use a > special setting to disable asynchrony. There are many different > possibilities here. For example, you can tell Composer not to use > async packages. And so on. You can come up with your own protection > mechanisms. There is no technical problem here in terms of > implementation. > Why not enable asynchronous mode in PHP explicitly through php.ini? > I'm not sure if INI is going to be successful. I would bet that it is going to get rejected as PHP has been moving against introducing INI for language / extension behavior changes. It reminds to some extend the scalar type hints with strict / non strict discussion that ended up using declare keyword. So maybe async could use it too and it could be enabled per file in a similar way as strict types. I haven't thought if it would always make sense for async but for projects that want to be fully async, it would need to be declared in each file. Cheers Jakub --000000000000e1a54d0644200452 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, Nov 21,= 2025 at 3:22=E2=80=AFPM Edmond Dantes <edmond.ht@gmail.com> wrote:
Hello

> how do I keep my project always-sync without risking one of my compose= r packages suddenly calling spawn() and causing bugs I have no idea how to = even begin to understand?

This idea was mentioned a bit earlier in the discussion. You can use a
special setting to disable asynchrony. There are many different
possibilities here. For example, you can tell Composer not to use
async packages. And so on. You can come up with your own protection
mechanisms. There is no technical problem here in terms of
implementation.
Why not enable asynchronous mode in PHP explicitly through php.ini?

I'm not sure if INI is going to be success= ful. I would bet that it is going to get rejected as PHP has been moving ag= ainst introducing INI for language / extension behavior changes.
=
It reminds to some extend the scalar type hints with strict = / non strict discussion that ended up using declare keyword. So maybe async= could use it too and it could be enabled per file in a similar way as stri= ct types. I haven't thought if it would always make sense for async but= for projects that want to be fully async, it would need to be declared in = each file.

Cheers

Jakub


--000000000000e1a54d0644200452--