Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127727 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 F1DC21A00BC for ; Thu, 19 Jun 2025 16:55:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1750352013; bh=KyBeO3hhAxRBBZL1YRevn7ksxTkzHEHASpdqhhm4UhI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=lxBl9Z1VpitlNdivg3DERRFt41tClIumiooA9WKv/1PYFNXYPbBOd8Xx4RT/4dKHM OVCiGRezjA8IypA2aU/Qh9SB+jnH9caZRk2gYYdo2+uXOCrYlktPv5bRM9iTAE4RXy ZfgS0YKpIuiE2sXjW6tc7fhzGYyZ7WKKuiaa7nDG0rQpPhs/QKdg4fFe5xuO1o/8k2 PPOWb692XqGqZQAPL5CdrLSXb/dOuiImkDfRgy1P89wm1fIcbIzOKO6HiSPs9RNp9B KEX4oxylbDrkdkFid12yr2xs8qcrIvTHsRfnXH0Jamh9bZBEoDlehGnL/bvjs/sV5l +ChPL5KY/t4kw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0AB97180051 for ; Thu, 19 Jun 2025 16:53:33 +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=0.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,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: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 ; Thu, 19 Jun 2025 16:53:32 +0000 (UTC) Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-7406c6dd2b1so746730b3a.0 for ; Thu, 19 Jun 2025 09:55:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750352129; x=1750956929; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=KyBeO3hhAxRBBZL1YRevn7ksxTkzHEHASpdqhhm4UhI=; b=cY9tOu/Dx90sW73m/F74VjdjFMEG3ojbnN3q+h5kz6tpCWUwKch9dxDUZwegPdDMER ex9j8H6LRGfJRkABqdzdRchbzO51HxG8zR+MjiRMyAvbITTHCstYICmBe0qE9Pg+JQRG lDyb0o2M/XueA5mt0ptPDIjM+rQTwuaePtNPpkPOgSiK7xWQTikIwbP/mhROsC0pRd7s VvSKr+EAVEg1pShfoApOHLepQOxWd36ju4VY0W0EtOJNyybet5ygcgrbgFJc3tTVtQkb cF1tqBhx4vBS1iUjRYkjxI/UFZM50aZRMaQN45cNcvGPXGcAIGdTamYU/Zbt1JIoJHx4 h0Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750352129; x=1750956929; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=KyBeO3hhAxRBBZL1YRevn7ksxTkzHEHASpdqhhm4UhI=; b=VxTd32M5Rye8AIvr/n1nsLTmHFCHcT2OdBPgDbe/ra6fs1dd4WIrTeiSMKggmUtUuy xPldQMvwoDgFnm2sCVGcDCVbEB6G4/DPBSz651zRs0VSy1FEL5a/MkxLAe65+5xUldPB DD8/oQcqJ4MuS9KwqW38YXpmxwhNc8ZBjsc1/qrni5oqa49BcRCekKnMaigZCDesyW2I rXBx3SawiAQK9Jc8i9sFu8jO++v8P9muFkI2sOngN6LE1TlCGBjn90RPdxJzhZu32UZU Sr1KImZMseBCuFVLOr5S2TVnIqUkcgPzNy4uCyYHDh+cBqMUJWasJzDas33u0l02wa6Q /vCQ== X-Gm-Message-State: AOJu0YyQ+Y9nkEoNlrgcAB4seJo3jHC9YbNfU86vUAEk8odaderSU7lv Xq4tkvp9/Rt+rjdMENnO7S2hRLdIpRIOPwRmb+UxQr6hRd5WZjwAezHcUvQ2V8r4w65FVmnzF/X KQMnQbq+uMKXDYjKcykUYngHguoRoBV8= X-Gm-Gg: ASbGncvkmWeMFW3hb26nX/cnIoOkM/F5/Wo+/TUqDw+OqtuMSrop9oqZh8lCuEPPee/ BuVrXfxGiqhitJC3YuSVkbId0yb2Y16c22PvxpQUUbtUvXQm0n5rEJejwIyJv8GhD3bq+SgLgYP DDYryjfKBSypDEIVtyaElPrGGbTd+7dE5t8R10GBtMNZM9KNMb/U1LPexnzDaPYm351Eieox1si AE= X-Google-Smtp-Source: AGHT+IE2DFt93cVEpPHB3YaBDMnx7o05l9EpXARh8VY03RRy/g+8J7l9pilZbjTzN6+g/+QWHjSUWP3wwUVgGCsJ/GQ= X-Received: by 2002:a17:90b:52c5:b0:30a:9feb:1e15 with SMTP id 98e67ed59e1d1-3158abc90f7mr6967139a91.8.1750352129038; Thu, 19 Jun 2025 09:55:29 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <73D7B135-ABF8-4EFC-BF16-EA26A5BD1B7A@cmpct.info> In-Reply-To: Date: Thu, 19 Jun 2025 18:55:14 +0200 X-Gm-Features: AX0GCFuSc9XUsg_llH0vKMkGvyTKQnfA34MpPHqhnoxcCwlBOTLI5ZSNvVgHpW4 Message-ID: Subject: Re: [PHP-DEV] [RFC] Drop support for 32bit builds To: Ben Ramsey Cc: php internals Content-Type: multipart/alternative; boundary="000000000000e228740637ef9c14" From: divinity76@gmail.com (Hans Henrik Bergan) --000000000000e228740637ef9c14 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jun 19, 2025, 18:24 Ben Ramsey wrote: > > On Jun 19, 2025, at 11:08, Calvin Buckley wrote: > > > > On Jun 19, 2025, at 11:08=E2=80=AFAM, Marc Bennewitz = wrote: > >> > >> Hi, > >> > >> During the discussion about the year 2038 issue it turned out that > maybe it's time to drop support for 32-bit of PHP completely. > >> > >> Based on that I have created an RFC to deprecate 32-bit build in 8.nex= t > and drop support for it in 9. > >> > >> RFC: https://wiki.php.net/rfc/drop_32bit_support > > > > I think the biggest arguments against this would be: > > > > - embedded systems; think of PHP in use for i.e. router web UIs. While = I > > suspect a lot of these are going to be i.e. AArch64/RV64 in the future, > > there might be a long tail of existing systems. Of course, how many > > would upgrade to PHP 9? > > > > - WebAssembly; I don't know how widespread the Memory64 proposal is yet= . > > We're using WebAssembly in the docs pages for runnable examples. > > > > And some niche cases like i.e. iSH (which emulates x86-32 on iOS). > > > > The other options include making zend_long always 64-bit and accept the > > performance penalty for 32-bit, or making 32-bit best-effort rather tha= n > > providing any guarantees. > > > Last night, I was giving some thought to reviving Andrea=E2=80=99s Big In= teger > RFC[^1]. This is something I=E2=80=99ve wanted for a long time (especiall= y for my > ramsey/uuid library, among other things). > > Andrea had a work-in-progress PR[^2]. I=E2=80=99m not sure the current st= ate of > it. It=E2=80=99s from 2014 and was originally written for phpng. I had pl= anned to > start teasing out bits of it into a new branch based on the current maste= r > branch to see how far I could get with it. I wouldn=E2=80=99t mind some h= elp with > that, if anyone=E2=80=99s interested. :-) > > If we are able to finish what Andrea started, then we would not need to > drop support for 32bit builds. > > Cheers, > Ben > > > [^1]: https://wiki.php.net/rfc/bigint > [^2]: https://github.com/php/php-src/pull/876 Smallest ramnode.com VPS has 512MB ram. I would run 32bit PHP on a 512mb ram VPS. I'm not longer a ramnode customer, but I used to be. I for one would be sad to see 32bit PHP go. --000000000000e228740637ef9c14 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Thu, Jun 19, 2025, 18:24 Ben Ramse= y <ramsey@php.net> wrote:

> On Jun 19, 2025, at 11:08, Calvin Buckley <calvin@cmpct.info> wrote:
>
> On Jun 19, 2025, at 11:08=E2=80=AFAM, Marc Bennewitz <marc@mabe.ber= lin> wrote:
>>
>> Hi,
>>
>> During the discussion about the year 2038 issue it turned out that= maybe it's time to drop support for 32-bit of PHP completely.
>>
>> Based on that I have created an RFC to deprecate 32-bit build in 8= .next and drop support for it in 9.
>>
>> RFC: https://wiki.php.ne= t/rfc/drop_32bit_support
>
> I think the biggest arguments against this would be:
>
> - embedded systems; think of PHP in use for i.e. router web UIs. While= I
> suspect a lot of these are going to be i.e. AArch64/RV64 in the future= ,
> there might be a long tail of existing systems. Of course, how many > would upgrade to PHP 9?
>
> - WebAssembly; I don't know how widespread the Memory64 proposal i= s yet.
> We're using WebAssembly in the docs pages for runnable examples. >
> And some niche cases like i.e. iSH (which emulates x86-32 on iOS).
>
> The other options include making zend_long always 64-bit and accept th= e
> performance penalty for 32-bit, or making 32-bit best-effort rather th= an
> providing any guarantees.


Last night, I was giving some thought to reviving Andrea=E2=80=99s Big Inte= ger RFC[^1]. This is something I=E2=80=99ve wanted for a long time (especia= lly for my ramsey/uuid library, among other things).

Andrea had a work-in-progress PR[^2]. I=E2=80=99m not sure the current stat= e of it. It=E2=80=99s from 2014 and was originally written for phpng. I had= planned to start teasing out bits of it into a new branch based on the cur= rent master branch to see how far I could get with it. I wouldn=E2=80=99t m= ind some help with that, if anyone=E2=80=99s interested. :-)

If we are able to finish what Andrea started, then we would not need to dro= p support for 32bit builds.

Cheers,
Ben


[^1]: https://wiki.php.net/rfc/bigint
[^2]: https://github.com/php/php-src/pu= ll/876



Smallest ramnode.com VPS has 512MB ram. I would run 3= 2bit PHP on a 512mb ram VPS. I'm not longer a ramnode customer, but I u= sed to be.=C2=A0
I for one would be sad to see 32bit= PHP go.
--000000000000e228740637ef9c14--