Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127108 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 qa.php.net (Postfix) with ESMTPS id B05591A00BC for ; Mon, 14 Apr 2025 12:42:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1744634380; bh=smdO/SAU7jXaCnGYAcca/1bo8f0TykjyjEI4cnUaXH4=; h=From:Date:Subject:To:From; b=P5mEG65SGH+DUhjY+rt7wYrbsVDVpB3h/O1fMlUEM0xp+sbNDcIaHbSpDp+q97loy EA0jajpIqaOZw84JSoLFBvRp6CIvb0cZ5tbdpo6USdxsIKnyAr7EAReyPq0ctsGXe/ rCkzBdDcvMdtkgcqeyphkYxDdVoSNypF2QZb2ndmoAzkCbzfV+dy2+ASvv/QTXTh3S Ni7LlVs4d2hs+BTFdu0QTpo+knxj4ANrcayngKl9Cw25PpynQy90fMdyYyZfUGR9z8 79ArFe2MbVZPBg8tBVhYSCbVFdEtM6EVwWvIlxTtCI4CZaIS8+C3XpKza9HvqbyOX6 /5eFFc9tob55w== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 5E72D18006A for ; Mon, 14 Apr 2025 12:39:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) (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 ; Mon, 14 Apr 2025 12:39:40 +0000 (UTC) Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-476ab588f32so61236841cf.2 for ; Mon, 14 Apr 2025 05:42:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744634522; x=1745239322; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=smdO/SAU7jXaCnGYAcca/1bo8f0TykjyjEI4cnUaXH4=; b=CbGSHmZMTRKkFQ7cFdNfGQvIA8eiCLg/xXWaNiQp0EUzPnAXvkWZY74zAGRgTV/eIt 2v1XuZw5Ev9+lvskhAuJANou2aGhBj5/hAfYsLdCsWI+OapuCB01GCJt5h8eZxRUWWL2 Yuh+81dVsKy273d/NVCVqKzEW/ZPH3+1+aLbLeSLLoGdzaeyfAHunl5tOijd7qnxXUb5 akqvJgWdSNBIKNUbOVBYtJ/CQ1cTAxDxXlrCcmspfpNOYoehErQxQrJepOIHOKJXC9e8 yYLQZmeXtbZgAMkTVf+Sbsj8gHz2TQmid0HfWFBNhWZ79H7wl8zFFfmZI97wPlrpkmvY C+Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744634522; x=1745239322; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=smdO/SAU7jXaCnGYAcca/1bo8f0TykjyjEI4cnUaXH4=; b=G3hPWd2khoxKQwaEvDnIdAC5rYCiXhYGc2sFrS/UzLYBbsYWnr8xOnwqozPyz+Yjjv dLgL/SbpmATzM3/lvru70fSWL7ObBlYkXAVTnGQzvPq5yjRQlYNvGtEMOHbAcRfq2rsL M+7z7HziN+rQnrVV0KSVTcDOhLnJQYKdtikuRbnHxmjvZQL+ef5g9LUj2S6OrTQ6Ftam BQjpDclYg82K4kXrT4c/3WmfMY5KispfZvckeh6rO2LxS3SHt51yPsAYG8RiCzhNtkx2 OVvUgR9RZVSUJxxYcPrkFdEuvwu1MG6I59jtH0zDhlBsI8LFqxYNzE5ihU8Y6H/syakM xTTQ== X-Gm-Message-State: AOJu0YzzPxmwbFsDHSNjKuqQ7u2h4TERc14BT0U+ABHHZ0cjuRxX+NV+ 0Exw5yJOLi61PCKr1F92CGkU4pR2a9G9OUJEkVenLNYw+KpKbAmmB+j+DStIbsLdD6A8aQ/GHnc 3cMYKe/uptd0QR8fDUJlCjtlbiuhAj24vB34= X-Gm-Gg: ASbGnctLMcS7y3oVyddQ7SIcnj0EHYVbeOghaVJmp0+2K0gfYH2jU18OnO65FCrPFAJ NaTYB8i/T8OIabpTm1m/fArcR15JIzDfYiqLSydkb9FWSJb8OQzHUzipLSiferJwt9YV5U14rMY WDAb9O74X6b/8QwNqpn8GqfD18Lnks1wm/ X-Google-Smtp-Source: AGHT+IGA7jvitsJTRKBr/966adNYPutDgd8k7n+mou3q7Lcyg8iIjhXYKUy0XXWkBLXDYVgvzraW9YpiDREqIHf5G0A= X-Received: by 2002:a05:6214:415:b0:6e6:6598:84c1 with SMTP id 6a1803df08f44-6f23f164206mr186466066d6.42.1744634521488; Mon, 14 Apr 2025 05:42:01 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Mon, 14 Apr 2025 14:41:50 +0200 X-Gm-Features: ATxdqUE_5PQw3EvBNz_WHKEexL2GcwrgbOlKFL1DhXl510rJ274wXf0qHNzU2qA Message-ID: Subject: [PHP-DEV] New max_memory_limit INI setting To: PHP internals Content-Type: text/plain; charset="UTF-8" From: tovilo.ilija@gmail.com (Ilija Tovilo) Hi everyone We've received a PR from Frederik Pytlick (@frederikpyt, thank you!) that introduces a new max_memory_limit INI setting. https://github.com/php/php-src/pull/18011 This setting declares an upper bound for memory_limit, which will prevent memory_limit from being set to a value higher than max_memory_limit, resulting in a warning (currently an error on startup, but I think this should be changed). It defaults to -1, which is unlimited. While memory_limit can be set at runtime, max_memory_limit is limited to startup. This may be useful to prevent 3rd party libraries from setting the limit unreasonably high. Similarly, it may declare an upper bound in shared hosting environments. One open question is whether exceeding the max_memory_limit should also set memory_limit to max_memory_limit in addition to warning, giving the subsequent operation a higher chance not to straight out OOM error. Let me know if you have a preference in that regard. This seems like a reasonable addition, allowing for more granular memory limit control. Let me know if you have any thoughts or concerns. If not, I'm planning to merge this PR into master in a couple of weeks. Ilija