[DOC-CVS] [doc-en] master: ini: Document PHP 8.5.0 ini directive deprecations and removals (#5419)

[email protected] (Jordi Kroon via GitHub) Thu, 7 May 2026 19:32:00 +0000
Newsgroups php.doc.cvs
Message-ID <[email protected]>
Author: Jordi Kroon (jordikroon)
Committer: GitHub (web-flow)
Pusher: jordikroon
Date: 2026-05-07T21:31:56+02:00

Commit: https://github.com/php/doc-en/commit/a52e3d27cca786940272d0ae8efc21b5d6739070
Raw diff: https://github.com/php/doc-en/commit/a52e3d27cca786940272d0ae8efc21b5d6739070.diff

ini: Document PHP 8.5.0 ini directive deprecations and removals (#5419)

* document PHP 8.5.0 ini directive deprecations and removals

Co-authored-by: Tim Düsterhus <[email protected]>
Co-authored-by: Louis-Arnaud <[email protected]>

Changed paths:
  M  appendices/ini.core.xml
  M  appendices/ini.list.xml
  M  features/commandline.xml
  M  install/fpm/configuration.xml
  M  language-snippets.ent
  M  reference/errorfunc/ini.xml


Diff:

diff --git a/appendices/ini.core.xml b/appendices/ini.core.xml
index 37f3b7e57761..e08c88b18573 100644
--- a/appendices/ini.core.xml
+++ b/appendices/ini.core.xml
@@ -60,7 +60,7 @@
         <entry><link linkend="ini.disable-classes">disable_classes</link></entry>
         <entry>""</entry>
         <entry>&php.ini; only</entry>
-        <entry></entry>
+        <entry>Removed as of PHP 8.5.0</entry>
        </row>
        <row>
         <entry><link linkend="ini.exit-on-timeout">exit_on_timeout</link></entry>
@@ -235,15 +235,15 @@
        <type>string</type>
       </term>
       <listitem>
-       <para>
+       <simpara>
         This directive allows certain classes to be disabled.
         It takes a comma-delimited list of class names.
         Disabling a class just prevents the class's instantiation.
-       </para>
-       <para>
+       </simpara>
+       <simpara>
         Only internal classes can be disabled using this directive.
         User-defined classes are unaffected.
-       </para>
+       </simpara>
        <simpara>
         This directive must be set in &php.ini;.
         It cannot be set in &httpd.conf;.
@@ -254,6 +254,7 @@
          sufficient security measure for shared hosting environments.
         </simpara>
        </warning>
+       &warn.removed.feature-8-5-0;
       </listitem>
      </varlistentry>
 
@@ -599,7 +600,7 @@ Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unk
         <entry><link linkend="ini.register-argc-argv">register_argc_argv</link></entry>
         <entry>"1"</entry>
         <entry><constant>INI_PERDIR</constant></entry>
-        <entry></entry>
+        <entry>Deprecated as of PHP 8.5.0</entry>
        </row>
        <row>
         <entry><link linkend="ini.enable-post-data-reading">enable_post_data_reading</link></entry>
@@ -789,6 +790,16 @@ Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unk
        <simpara>
         See also <link linkend="features.commandline">command line</link>.
        </simpara>
+       &warn.deprecated.feature-8-5-0;
+       <note>
+        <simpara>
+         Deriving <code>$_SERVER['argc']</code> and <code>$_SERVER['argv']</code>
+         from the query string for non-CLI SAPIs has been deprecated.
+         Configure <literal>register_argc_argv=0</literal> and switch to either
+         <varname>$_GET</varname> or <code>$_SERVER['QUERY_STRING']</code>
+         to access the information, after verifying that the usage is safe.
+        </simpara>
+       </note>
       </listitem>
      </varlistentry>
      
diff --git a/appendices/ini.list.xml b/appendices/ini.list.xml
index c4d1f407bee9..d90b905c3b17 100644
--- a/appendices/ini.list.xml
+++ b/appendices/ini.list.xml
@@ -207,7 +207,7 @@
        <entry><link linkend="ini.disable-classes">disable_classes</link></entry>
        <entry><literal>""</literal></entry>
        <entry>&php.ini; only</entry>
-       <entry></entry>
+       <entry>Removed as of PHP 8.5.0</entry>
       </row>
       <row>
        <entry><link linkend="ini.disable-functions">disable_functions</link></entry>
@@ -551,13 +551,13 @@
        <entry><link linkend="ini.register-argc-argv">register_argc_argv</link></entry>
        <entry><literal>"1"</literal></entry>
        <entry><constant>INI_PERDIR</constant></entry>
-       <entry></entry>
+       <entry>Deprecated as of PHP 8.5.0</entry>
       </row>
       <row>
        <entry><link linkend="ini.report-memleaks">report_memleaks</link></entry>
        <entry><literal>"1"</literal></entry>
        <entry><constant>INI_ALL</constant></entry>
-       <entry></entry>
+       <entry>Deprecated as of PHP 8.5.0</entry>
       </row>
       <row>
        <entry>report_zend_debug</entry>
diff --git a/features/commandline.xml b/features/commandline.xml
index 4de9b010ba5f..d074c4e397b0 100644
--- a/features/commandline.xml
+++ b/features/commandline.xml
@@ -203,6 +203,7 @@ if (php_sapi_name() === 'cli') {
             </informalexample>
            </para>
           </warning>
+          &warn.deprecated.feature-8-5-0;
           </entry>
          </row>
          <row>
diff --git a/install/fpm/configuration.xml b/install/fpm/configuration.xml
index 12ef26f48af9..5fbc0aec71e0 100644
--- a/install/fpm/configuration.xml
+++ b/install/fpm/configuration.xml
@@ -1027,8 +1027,7 @@ php_admin_value[memory_limit] = 32M
      PHP settings passed with <literal>php_value</literal> or
      <literal>php_flag</literal> will overwrite their previous value.
      Please note that defining
-     <link linkend="ini.disable-functions">disable_functions</link> or
-     <link linkend="ini.disable-classes">disable_classes</link> will
+     <link linkend="ini.disable-functions">disable_functions</link> will
      not overwrite previously defined <filename>php.ini</filename> values,
      but will append the new value instead.
     </para>
diff --git a/language-snippets.ent b/language-snippets.ent
index 0ca23fce771e..4ba0f81d1826 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -475,6 +475,10 @@ xmlns="http://docbook.org/ns/docbook"><simpara>This function was
 <!ENTITY warn.removed.alias-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This alias is
 <emphasis>REMOVED</emphasis> as of PHP 8.0.0.</simpara></warning>'>
 
+<!ENTITY warn.removed.feature-8-5-0 '<warning
+xmlns="http://docbook.org/ns/docbook"><simpara>This feature has been
+<emphasis>REMOVED</emphasis> as of PHP 8.5.0.</simpara></warning>'>
+
 <!ENTITY warn.experimental.func '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This function is
 <emphasis>EXPERIMENTAL</emphasis>. The behaviour of this function, its name, and
 surrounding documentation may change without notice in a future release of PHP.
diff --git a/reference/errorfunc/ini.xml b/reference/errorfunc/ini.xml
index c10661d09894..97ea69fc24ac 100644
--- a/reference/errorfunc/ini.xml
+++ b/reference/errorfunc/ini.xml
@@ -64,7 +64,7 @@
      <entry><link linkend="ini.report-memleaks">report_memleaks</link></entry>
      <entry>"1"</entry>
      <entry><constant>INI_ALL</constant></entry>
-     <entry></entry>
+     <entry>Deprecated as of PHP 8.5.0</entry>
     </row>
     <row>
      <entry><link linkend="ini.track-errors">track_errors</link></entry>
@@ -318,7 +318,7 @@
      <type>bool</type>
     </term>
     <listitem>
-     <para>
+     <simpara>
       If this parameter is set to On (the default), this parameter will show a
       report of memory leaks detected by the Zend memory manager. This report
       will be sent to stderr on Posix platforms. On Windows, it will be sent
@@ -327,7 +327,8 @@
       This parameter only has effect in a debug build and if
       error_reporting includes <constant>E_WARNING</constant> in the allowed
       list.
-     </para>
+     </simpara>
+     &warn.deprecated.feature-8-5-0;
     </listitem>
    </varlistentry>