-
Notifications
You must be signed in to change notification settings - Fork 757
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Basis for the PHP 8.4 migration guide (#3822)
This creates the basis for the PHP 8.4 migration guide. This will not go live on php.net until a change to the `manual.xml.in` file is done in the doc-base repo. As such, there are still some TODOs that need to be fixed in follow-up PRs. Co-authored-by: Niels Dossche <[email protected]> Co-authored-by: Larry Garfield <[email protected]> Co-authored-by: Christoph M. Becker <[email protected]>
- Loading branch information
1 parent
6b53a02
commit d64e811
Showing
10 changed files
with
3,601 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<appendix xml:id="migration84" xmlns="http://docbook.org/ns/docbook"> | ||
<title>Migrating from PHP 8.3.x to PHP 8.4.x</title> | ||
|
||
<para> | ||
This new minor version brings with it a number of | ||
<link linkend="migration84.new-features">new features</link> and a | ||
<link linkend="migration84.incompatible">few incompatibilities</link> | ||
that should be tested for before switching PHP versions in production | ||
environments. | ||
</para> | ||
|
||
<para> | ||
&manual.migration.seealso; | ||
<link linkend="migration71">7.1.x</link>, | ||
<link linkend="migration72">7.2.x</link>, | ||
<link linkend="migration73">7.3.x</link>, | ||
<link linkend="migration74">7.4.x</link>, | ||
<link linkend="migration80">8.0.x</link>, | ||
<link linkend="migration81">8.1.x</link>, | ||
<link linkend="migration82">8.2.x</link>, | ||
<link linkend="migration83">8.3.x</link>. | ||
</para> | ||
|
||
&appendices.migration84.new-features; | ||
&appendices.migration84.new-classes; | ||
&appendices.migration84.new-functions; | ||
&appendices.migration84.constants; | ||
&appendices.migration84.incompatible; | ||
&appendices.migration84.deprecated; | ||
&appendices.migration84.removed-extensions; | ||
&appendices.migration84.other-changes; | ||
&appendices.migration84.windows-support; | ||
|
||
</appendix> | ||
<!-- Keep this comment at the end of the file | ||
Local variables: | ||
mode: sgml | ||
sgml-omittag:t | ||
sgml-shorttag:t | ||
sgml-minimize-attributes:nil | ||
sgml-always-quote-attributes:t | ||
sgml-indent-step:1 | ||
sgml-indent-data:t | ||
indent-tabs-mode:nil | ||
sgml-parent-document:nil | ||
sgml-default-dtd-file:"~/.phpdoc/manual.ced" | ||
sgml-exposed-tags:nil | ||
sgml-local-catalogs:nil | ||
sgml-local-ecat-files:nil | ||
End: | ||
vim600: syn=xml fen fdm=syntax fdl=2 si | ||
vim: et tw=78 syn=sgml | ||
vi: ts=1 sw=1 | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,322 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<sect1 xml:id="migration84.constants"> | ||
<title>New Global Constants</title> | ||
|
||
<sect2 xml:id="migration84.constants.core"> | ||
<title>Core</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>PHP_OUTPUT_HANDLER_PROCESSED</constant> | ||
</member> | ||
<member> | ||
<constant>PHP_SBINDIR</constant> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.curl"> | ||
<title>cURL</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>CURL_HTTP_VERSION_3</constant> | ||
</member> | ||
<member> | ||
<constant>CURL_HTTP_VERSION_3ONLY</constant> | ||
</member> | ||
<member> | ||
<constant>CURL_TCP_KEEPCNT</constant> | ||
</member> | ||
<member> | ||
<constant>CURLOPT_PREREQFUNCTION</constant> | ||
</member> | ||
<member> | ||
<constant>CURL_PREREQFUNC_OK</constant> | ||
</member> | ||
<member> | ||
<constant>CURL_PREREQFUNC_ABORT</constant> | ||
</member> | ||
<member> | ||
<constant>CURLOPT_SERVER_RESPONSE_TIMEOUT</constant> | ||
</member> | ||
<member> | ||
<constant>CURLOPT_DEBUGFUNCTION</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_TEXT</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_HEADER_IN</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_DATA_IN</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_DATA_OUT</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_SSL_DATA_OUT</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_SSL_DATA_IN</constant> | ||
</member> | ||
<member> | ||
<constant>CURLINFO_POSTTRANSFER_TIME_T</constant> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.intl"> | ||
<title>Intl</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>PATTERN</constant> | ||
(<classname>IntlDateFormatter</classname>) | ||
</member> | ||
<member> | ||
<constant>PROPERTY_IDS_UNARY_OPERATOR</constant> | ||
(<classname>IntlChar</classname>) | ||
</member> | ||
<member> | ||
<constant>PROPERTY_ID_COMPAT_MATH_START</constant> | ||
<!-- for mathematical identifier profiling purpose --> | ||
</member> | ||
<member> | ||
<constant>PROPERTY_ID_COMPAT_MATH_CONTINUE</constant> | ||
<!-- for mathematical identifier profiling purpose --> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.ldap"> | ||
<title>LDAP</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>LDAP_OPT_X_TLS_PROTOCOL_MAX</constant> | ||
</member> | ||
<member> | ||
<constant>LDAP_OPT_X_TLS_PROTOCOL_TLS1_3</constant> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.libxml"> | ||
<title>libxml</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>LIBXML_RECOVER</constant> | ||
</member> | ||
<member> | ||
<constant>LIBXML_NO_XXE</constant>. | ||
This is used together with <constant>LIBXML_NOENT</constant> | ||
when entity substitution should be performed, | ||
while disallowing external entity loading. | ||
This constant is available as of libxml2 2.13. | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.mysqli"> | ||
<title>MySQLi</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>MYSQLI_TYPE_VECTOR</constant> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.openssl"> | ||
<title>OpenSSL</title> | ||
|
||
<simplelist> | ||
<member><constant>X509_PURPOSE_OCSP_HELPER</constant></member> | ||
<member><constant>X509_PURPOSE_TIMESTAMP_SIGN</constant></member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.pcntl"> | ||
<title>PCNTL</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>SIGCKPT</constant> (DragonFlyBSD only) | ||
</member> | ||
<member> | ||
<constant>SIGCKPTEXIT</constant> (DragonFlyBSD only) | ||
</member> | ||
<member> | ||
<constant>WEXITED</constant> | ||
</member> | ||
<member> | ||
<constant>WSTOPPED</constant> | ||
</member> | ||
<member> | ||
<constant>WNOWAIT</constant> | ||
</member> | ||
<member> | ||
<constant>P_ALL</constant> | ||
</member> | ||
<member> | ||
<constant>P_PID</constant> | ||
</member> | ||
<member> | ||
<constant>P_PGID</constant> | ||
</member> | ||
<member> | ||
<constant>P_PIDFD</constant> (Linux only) | ||
</member> | ||
<member> | ||
<constant>P_UID</constant> (NetBSD/FreeBSD only) | ||
</member> | ||
<member> | ||
<constant>P_GID</constant> (NetBSD/FreeBSD only) | ||
</member> | ||
<member> | ||
<constant>P_SID</constant> (NetBSD/FreeBSD only) | ||
</member> | ||
<member> | ||
<constant>P_JAILID</constant> (FreeBSD only) | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.pgsql"> | ||
<title>PGSQL</title> | ||
|
||
<simplelist> | ||
<member><constant>PGSQL_TUPLES_CHUNK</constant></member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.posix"> | ||
<title>POSIX</title> | ||
|
||
<simplelist> | ||
<member><constant>POSIX_SC_CHILD_MAX</constant></member> | ||
<member><constant>POSIX_SC_CLK_TCK</constant></member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.sockets"> | ||
<title>Sockets</title> | ||
|
||
<simpara> | ||
The following socket options are now defined if they are supported: | ||
</simpara> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>SO_EXCLUSIVEADDRUSE</constant> (Windows only) | ||
</member> | ||
<member> | ||
<constant>SOCK_CONN_DGRAM</constant> (NetBSD only) | ||
</member> | ||
<member> | ||
<constant>SOCK_DCCP</constant> (NetBSD only) | ||
</member> | ||
<member> | ||
<constant>TCP_SYNCNT</constant> (Linux only) | ||
</member> | ||
<member> | ||
<constant>SO_EXCLBIND</constant> (Solaris/Illumos only) | ||
</member> | ||
<member> | ||
<constant>SO_NOSIGPIPE</constant> (macOS and FreeBSD) | ||
</member> | ||
<member> | ||
<constant>SO_LINGER_SEC</constant> (macOS only) | ||
</member> | ||
<member> | ||
<constant>IP_PORTRANGE</constant> (FreeBSD/NetBSD/OpenBSD only) | ||
</member> | ||
<member> | ||
<constant>IP_PORTRANGE_DEFAULT</constant> (FreeBSD/NetBSD/OpenBSD only) | ||
</member> | ||
<member> | ||
<constant>IP_PORTRANGE_HIGH</constant> (FreeBSD/NetBSD/OpenBSD only) | ||
</member> | ||
<member> | ||
<constant>IP_PORTRANGE_LOW</constant> (FreeBSD/NetBSD/OpenBSD only) | ||
</member> | ||
<member> | ||
<constant>SOCK_NONBLOCK</constant> | ||
</member> | ||
<member> | ||
<constant>SOCK_CLOEXEC</constant> | ||
</member> | ||
<member> | ||
<constant>SO_BINDTOIFINDEX</constant> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.sodium"> | ||
<title>Sodium</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES</constant> | ||
</member> | ||
<member> | ||
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES</constant> | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
<sect2 xml:id="migration84.constants.xml"> | ||
<title>XML</title> | ||
|
||
<simplelist> | ||
<member> | ||
<constant>XML_OPTION_PARSE_HUGE</constant> | ||
which allows parsing large inputs with | ||
<function>xml_parse</function> and | ||
<function>xml_parse_into_struct</function>. | ||
</member> | ||
</simplelist> | ||
</sect2> | ||
|
||
</sect1> | ||
<!-- Keep this comment at the end of the file | ||
Local variables: | ||
mode: sgml | ||
sgml-omittag:t | ||
sgml-shorttag:t | ||
sgml-minimize-attributes:nil | ||
sgml-always-quote-attributes:t | ||
sgml-indent-step:1 | ||
sgml-indent-data:t | ||
indent-tabs-mode:nil | ||
sgml-parent-document:nil | ||
sgml-default-dtd-file:"~/.phpdoc/manual.ced" | ||
sgml-exposed-tags:nil | ||
sgml-local-catalogs:nil | ||
sgml-local-ecat-files:nil | ||
End: | ||
vim600: syn=xml fen fdm=syntax fdl=2 si | ||
vim: et tw=78 syn=sgml | ||
vi: ts=1 sw=1 | ||
--> |
Oops, something went wrong.