[DOC-CVS] [doc-base] master: Various clean ups and docs (#338)
[email protected] (alfsb via GitHub)
| Newsgroups | php.doc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: alfsb (alfsb)
Committer: GitHub (web-flow)
Pusher: alfsb
Date: 2026-08-27T10:13:48-03:00
Commit: https://github.com/php/doc-base/commit/321f63efa4411517816acd51bed1f7b48308827f
Raw diff: https://github.com/php/doc-base/commit/321f63efa4411517816acd51bed1f7b48308827f.diff
Various clean ups and docs (#338)
* Clean up and docs
* File exclusions
Changed paths:
D entities/global.ent
D funcindex.xml
D manual.xml
M README.md
M configure.php
M docs/local-setup.md
M docs/public-builds.md
M scripts/file-entities.php
Diff:
diff --git a/README.md b/README.md
index 287e9fa701..c94dc0c4c7 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,12 @@
+
This repository contains the base source files and tools for converting
PHP's documentation, written in DocBook XML, into various presentation
-formats like HTML and RTF.
+formats.
Documentation for the tools used for building the PHP documentation and
how to contribute to the documentation and translations can be found in
-[the `docs` directory](docs/README.md).
+[the `docs` directory](docs/README.md), also hosted at
+<https://doc.php.net/guide/>.
If you just want to read the documentation for PHP, look at:
https://www.php.net/docs.php
diff --git a/configure.php b/configure.php
index 00a73963d0..aed2c371ef 100755
--- a/configure.php
+++ b/configure.php
@@ -1316,7 +1316,6 @@ function phd_sources()
$source_map = array();
$base_dir = "{$ac['rootdir']}/{$ac['LANG_BASE_DIR']}";
$source_langs = array(
- array('base', $ac['srcdir'], array('manual.xml', 'funcindex.xml')),
array($ac['LANG_BASE_DIR'], $base_dir, find_xml_files($base_dir)),
);
if (!is_single_language()) {
diff --git a/docs/local-setup.md b/docs/local-setup.md
index 103d9add29..435bd46ed3 100644
--- a/docs/local-setup.md
+++ b/docs/local-setup.md
@@ -48,7 +48,7 @@ instructions](local-web-setup.md) for details on how to view those.)
<a name="without-docker"></a>
## Building without make or Docker
-## Check out the PHP documentation using Git
+### Check out the PHP documentation using Git
Note that `doc-en` is cloned into the `en` directory below.
@@ -60,7 +60,7 @@ $ git clone https://github.com/php/doc-base.git
$ git clone https://github.com/php/doc-en.git en
```
-## Validate and build `.manual.xml`
+### Validate and build `manual.xml`
```
$ php doc-base/configure.php
@@ -70,7 +70,7 @@ Running `configure.php` will check and validate the XML according to the
Docbook specification. It will output either error messages explaining
any problems, or an ASCII cat.
-This creates the file `doc-base/.manual.xml` which can then be used
+This creates the file `doc-base//temp/manual.xml` which can then be used
to generate other formats of the documentation.
If you are building a translation, you'll also need to specify the
@@ -85,33 +85,32 @@ When building a language, you still need to clone both the `doc-en` repository
(again, as `en`) so it can be used as the fallback for files that are not yet
translated.
-## Build other formats of the documentation
+### Build other formats of the documentation
-`phd` can turn the `doc-base/.manual.xml` generated by `configure.php`
+`phd` can turn the `doc-base/temp/manual.xml` generated by `configure.php`
into several different formats, including a single HTML file, a
multiple-file ("chunked") HTML version, and a special version of the
HTML used by the PHP.net website.
```sh
-$ php phd/render.php --docbook doc-base/.manual.xml --package PHP --format xhtml
+$ php phd/render.php --docbook doc-base/temp/manual.xml --package PHP --format xhtml
$ open output/php-chunked-xhtml/index.html
```
To build the version for the website (with a [local web setup](local-web-setup.md)):
```sh
-$ php phd/render.php --docbook doc-base/.manual.xml --package PHP --format php
+$ php phd/render.php --docbook doc-base/temp/manual.xml --package PHP --format php
$ open https://localhost:8080/manual/en/
```
<a name="windows-eol"></a>
-## Translating on Windows
+## Working on Windows
When working on Windows, try to use text editors that preserve the end
-of line mark as `U+000A LINE FEED (LF)` only. If it's not possible,
+of line mark as `U+000A LINE FEED (LF)`. If it's not possible,
you may issue the commands below to instruct `git` in transforming
-the files in your local clone to use the Windows native end of line
-mark:
+the clone local files to use the Windows native end of line mark:
```
cd LANG
@@ -120,8 +119,8 @@ git add --renormalize .
git status
```
-If the last comment above outputs no files, then the process works,
-and you can start translating.
+If the last comment above outputs no files, then the configuration
+worked, and you can use the files with the native Windows line end.
If the last command above shows a list of files, something went wrong,
because these listed files will be changed at *repository level*
diff --git a/docs/public-builds.md b/docs/public-builds.md
index eeeaec9623..6d7f5c98a2 100644
--- a/docs/public-builds.md
+++ b/docs/public-builds.md
@@ -4,12 +4,13 @@ The manual and all of its translations is automatically rebuilt and
made available at PHP.net through a regular process handled by the
systems team.
-Currently, this happens every few hours.
+Currently, this happens every two hours.
If there appear to be problems with the regular building of the manual or
-any translation, contact the [PHP Systems team](mailto:[email protected])
-for help. (The process is automated and monitored, so problems are
-generally dealt with promptly.)
+any translation, inspect the build logs at <https://doc.php.net/logs/> or
+contact the [PHP Systems team](mailto:[email protected]) for help.
+(The process is automated and monitored, so problems are generally
+dealt with promptly.)
## CHM builds
diff --git a/entities/global.ent b/entities/global.ent
deleted file mode 100644
index 3ca270066a..0000000000
--- a/entities/global.ent
+++ /dev/null
@@ -1,701 +0,0 @@
-<!--
- Temporary entities to avoid breaking translations.
--->
-<!ENTITY reference.pdo-cubrid.entities.PDO "&reference.pdo-cubrid.entities.pdo-overloaded;">
-<!ENTITY reference.pdo-pgsql.entities.PDO "&reference.pdo-pgsql.entities.pdo-overloaded;">
-<!ENTITY reference.pdo-sqlite.entities.PDO "&reference.pdo-sqlite.entities.pdo-overloaded;">
-
-<!--
- Contains global "macros" for all the XML documents.
--->
-<!ENTITY url.7zip "http://www.7-zip.org/">
-<!ENTITY url.adabas "http://www.adabas.com/">
-<!ENTITY url.adobe.acrobat "http://www.adobe.com/products/acrobat/readstep2.html">
-<!ENTITY url.apache "http://httpd.apache.org/">
-<!ENTITY url.apachedso "http://httpd.apache.org/docs/current/dso.html">
-<!ENTITY url.apache2.docs "http://httpd.apache.org/docs/current/">
-<!ENTITY url.apache2.mpm "http://httpd.apache.org/docs/current/mpm.html">
-<!ENTITY url.apache2.windows "http://httpd.apache.org/docs/current/platform/windows.html">
-<!ENTITY url.apache.cgi "http://httpd.apache.org/docs/current/howto/cgi.html">
-<!ENTITY url.apache.source "http://httpd.apache.org/download.cgi">
-<!ENTITY url.apache.core "http://httpd.apache.org/docs/current/mod/core.html">
-<!ENTITY url.apache.fcgid "http://httpd.apache.org/mod_fcgid/">
-<!-- Windows binaries are not provided directly by Apache but ApacheLounge -->
-<!ENTITY url.apachelounge "https://www.apachelounge.com">
-<!ENTITY url.apachelounge.download "https://www.apachelounge.com/download/">
-<!ENTITY url.apc.technotes "https://github.com/php/pecl-caching-apc/blob/master/TECHNOTES.txt">
-<!ENTITY url.apc.bc "https://pecl.php.net/apcu_bc">
-<!ENTITY url.apd "https://pecl.php.net/apd">
-<!ENTITY url.apt-get "https://packages.debian.org/index">
-<!ENTITY url.argsep "http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2">
-<!ENTITY url.arraycolumn.compat "https://github.com/ramsey/array_column/blob/master/src/array_column.php">
-<!ENTITY url.asciitable "https://www.man7.org/linux/man-pages/man7/ascii.7.html">
-<!ENTITY url.aspell "http://aspell.net/">
-<!ENTITY url.azure.php "https://azure.microsoft.com/en-us/develop/php/">
-<!ENTITY url.azure.php.sdk "https://github.com/Azure/azure-sdk-for-php">
-<!ENTITY url.azure.portal "https://portal.azure.com/">
-<!ENTITY url.berkeleydb "https://www.oracle.com/database/berkeley-db/db.html">
-<!ENTITY url.bison "http://www.gnu.org/software/bison/bison.html">
-<!ENTITY url.bitnami "https://bitnami.com">
-<!ENTITY url.blog.data.structures "https://medium.com/p/9dda7af674cd">
-<!ENTITY url.brew "https://brew.sh/">
-<!ENTITY url.brew.1.5.0 "https://brew.sh/2018/01/19/homebrew-1.5.0/">
-<!ENTITY url.brew.php "https://formulae.brew.sh/formula/php">
-<!ENTITY url.blueshoes.comparisons "http://www.blueshoes.org/en/developer/php_cheat_sheet/">
-<!ENTITY url.browscap.download "http://browscap.org/">
-<!ENTITY url.bzip2 "https://www.sourceware.org/bzip2/">
-<!ENTITY url.c14 "http://en.cppreference.com/w/cpp/compiler_support">
-<!ENTITY url.calendar "http://www.fourmilab.ch/documents/calendar/">
-<!ENTITY url.calendar.jd "http://www.hermetic.ch/cal_stud/jdn.htm">
-<!ENTITY url.cc.by "http://creativecommons.org/licenses/by/3.0/">
-<!ENTITY url.cert "http://www.cert.org/advisories/CA-1996-11.html">
-<!ENTITY url.cdb "http://cr.yp.to/cdb.html">
-<!ENTITY url.chm "http://www.microsoft.com/download/en/details.aspx?id=21138">
-<!ENTITY url.chm.helpware "http://www.helpware.net/">
-<!ENTITY url.chm.hta "http://msdn.microsoft.com/workshop/author/hta/hta_node_entry.asp">
-<!ENTITY url.chm.history "http://www.winwriters.com/mshelp.htm">
-<!ENTITY url.cldr.locale "http://www.unicode.org/cldr/">
-<!ENTITY url.cloud.ec2 "http://aws.amazon.com/ec2/">
-<!ENTITY url.cloud.ec2.sdk "http://aws.amazon.com/sdkforphp/">
-<!ENTITY url.com.stgm.enum "https://docs.microsoft.com/en-us/windows/win32/stg/stgm-constants">
-<!ENTITY url.composer "https://getcomposer.org/">
-<!ENTITY url.comspecs "https://docs.microsoft.com/windows/desktop/com/component-object-model--com--portal">
-<!ENTITY url.com.visible "https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.comvisibleattribute">
-<!ENTITY url.connectionstrings "http://www.connectionstrings.com/">
-<!ENTITY url.crypt.sha "http://people.redhat.com/drepper/SHA-crypt.txt">
-<!ENTITY url.csprng.wiki "https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator">
-<!ENTITY url.csprng.crypt-gen-random "https://msdn.microsoft.com/en-us/library/windows/desktop/aa379942(v=vs.85).aspx">
-<!ENTITY url.csprng.cng-api "https://docs.microsoft.com/en-us/windows/desktop/SecCNG/cng-portal">
-<!ENTITY url.csprng.get-random-2 "http://man7.org/linux/man-pages/man2/getrandom.2.html">
-<!ENTITY url.csprng.compat "https://github.com/paragonie/random_compat">
-<!ENTITY url.cubrid "http://www.cubrid.org/">
-<!ENTITY url.cubrid.docs "https://www.cubrid.org/manuals/">
-<!ENTITY url.curl "http://curl.haxx.se/">
-<!ENTITY url.curl.error "http://curl.haxx.se/libcurl/c/libcurl-errors.html">
-<!ENTITY url.cyrus "http://cyrusimap.org/">
-<!ENTITY url.db2.object.naming "https://www.ibm.com/docs/en/i/7.5?topic=application-naming-distributed-relational-database-objects">
-<!ENTITY url.db2.connection.string "https://www.ibm.com/docs/en/i/7.5?topic=functions-sqldriverconnect-connect-data-source#rzadpfndvcon__title__5">
-<!ENTITY url.db2.sqldriverconnect "https://www.ibm.com/docs/en/i/7.5?topic=functions-sqldriverconnect-connect-data-source">
-<!ENTITY url.dbg "http://www.php-debugger.com/dbg/">
-<!ENTITY url.dbgview "http://technet.microsoft.com/en-us/sysinternals/bb896647">
-<!ENTITY url.debian "http://www.debian.org/">
-<!ENTITY url.delete.nonchars "http://unicode.org/reports/tr36/#Deletion_of_Noncharacters">
-<!ENTITY url.derick.references "http://derickrethans.nl/php_references_article.php">
-<!ENTITY url.diophantine-equation "http://mathworld.wolfram.com/DiophantineEquation.html">
-<!ENTITY url.dmalloc "http://dmalloc.com/">
-<!ENTITY url.docbook.xml "http://www.oasis-open.org/docbook/xml/">
-<!ENTITY url.docean.app.platform "https://www.digitalocean.com/products/app-platform">
-<!ENTITY url.docean.cloudways "https://www.cloudways.com/en/managed-hosting-for-digital-ocean.php">
-<!ENTITY url.docean.droplet "https://www.digitalocean.com/products/droplets">
-<!ENTITY url.docean.functions "https://www.digitalocean.com/products/functions">
-<!ENTITY url.dom2.features "http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/introduction.html#ID-Conformance">
-<!ENTITY url.dom3.spec "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html">
-<!ENTITY url.spec.dom3.attr "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-637646024">
-<!ENTITY url.spec.dom3.characterdata "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-FF21A306">
-<!ENTITY url.spec.dom3.comment "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1728279322">
-<!ENTITY url.spec.dom3.document "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-i-Document">
-<!ENTITY url.spec.dom3.node "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1950641247">
-<!ENTITY url.spec.dom3.nodelist "http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-536297177">
-<!ENTITY url.spec.dom.living.base "https://dom.spec.whatwg.org/">
-<!ENTITY url.spec.dom.living.node "&url.spec.dom.living.base;#interface-node">
-<!ENTITY url.spec.dom.living.attr "&url.spec.dom.living.base;#interface-attr">
-<!ENTITY url.spec.dom.living.characterdata "&url.spec.dom.living.base;#interface-characterdata">
-<!ENTITY url.spec.dom.living.comment "&url.spec.dom.living.base;#interface-comment">
-<!ENTITY url.spec.html401.accept-charset "http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accept-charset">
-<!ENTITY url.eio.libeio "http://software.schmorp.de/pkg/libeio.html">
-<!ENTITY url.email.book "https://www.oreilly.com/library/view/programming-internet-email/9780596802585/">
-<!ENTITY url.enchant "https://rrthomas.github.io/enchant/">
-<!ENTITY url.exifspec "http://exif.org/Exif2-2.PDF">
-<!ENTITY url.exiftags "http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html">
-<!ENTITY url.expat "https://libexpat.github.io/">
-<!ENTITY url.expat.rpm "https://sourceforge.net/projects/expat/">
-<!ENTITY url.expect "http://expect.nist.gov/">
-<!ENTITY url.exsltlib "https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home">
-<!ENTITY url.ev.buffers.threads "http://www.wangafu.net/~nickm/libevent-book/Ref7_evbuffer.html#_evbuffers_and_thread_safety">
-<!ENTITY url.ev.child "http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_child_code_watch_out_for_pro">
-<!ENTITY url.ev.loop "http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#FUNCTIONS_CONTROLLING_EVENT_LOOPS_CO">
-<!ENTITY url.ev.signal "http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_signal_code_signal_me_when_a">
-<!ENTITY url.ev.stat "http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_stat_code_did_the_file_attri">
-<!ENTITY url.ev.timeouts "http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Be_smart_about_timeouts">
-<!ENTITY url.ev.timer "http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_timer_code_relative_and_opti">
-<!ENTITY url.ezweb "http://www.au.kddi.com/english/service/ezweb/index.html">
-<!ENTITY url.fann.lib "http://leenissen.dk/fann/wp/">
-<!ENTITY url.fann.github "https://github.com/bukka/php-fann">
-<!ENTITY url.fbsql "http://www.frontbase.com/">
-<!ENTITY url.fbsql.docs "http://www.frontbase.com/cgi-bin/WebObjects/FBWebSite.woa">
-<!ENTITY url.firebird "http://www.firebirdsql.org/">
-<!ENTITY url.flex "http://www.gnu.org/software/flex/flex.html">
-<!ENTITY url.floating.point.guide "http://floating-point-gui.de/">
-<!ENTITY url.foldoc "http://foldoc.org/">
-<!ENTITY url.freetds "http://www.freetds.org/">
-<!ENTITY url.freetype "http://www.freetype.org/">
-<!ENTITY url.gc-paper "https://pages.cs.wisc.edu/~cymen/misc/interests/Bacon01Concurrent.pdf">
-<!ENTITY url.gd "http://www.libgd.org/">
-<!ENTITY url.gdbm "https://ftp.gnu.org/pub/gnu/gdbm/">
-<!ENTITY url.gearman "http://gearman.org">
-<!ENTITY url.gearman.libgearman "http://gearman.org/getting-started/">
-<!ENTITY url.gettext "http://www.gnu.org/software/gettext/gettext.html">
-<!ENTITY url.gettext.docs "http://www.gnu.org/software/gettext/manual/gettext.html">
-<!ENTITY url.git.hub "https://github.com/">
-<!ENTITY url.glib "http://ftp.gnome.org/pub/gnome/sources/glib/">
-<!ENTITY url.glib.windows "http://ftp.gnome.org/pub/gnome/binaries/win32/glib/">
-<!ENTITY url.gmagick.imagemagickdiff.faq "http://www.graphicsmagick.org/FAQ.html#how-does-graphicsmagick-differ-from-imagemagick">
-<!ENTITY url.gmp "http://gmplib.org/#DOWNLOAD">
-<!ENTITY url.gnochm "http://gnochm.sourceforge.net/">
-<!ENTITY url.gnu.autoconf "https://www.gnu.org/software/autoconf/autoconf.html">
-<!ENTITY url.gnu.configure "http://www.airs.com/ian/configure/">
-<!ENTITY url.gnu.make "https://www.gnu.org/software/make/make.html">
-<!ENTITY url.gnupg "http://www.gnupg.org/">
-<!ENTITY url.gpgme "http://www.gnupg.org/related_software/gpgme/">
-<!ENTITY url.hash.nist-hash-functions "https://csrc.nist.gov/projects/hash-functions">
-<!ENTITY url.hp.software "http://software.hp.com/">
-<!ENTITY url.hpux.installguide "http://www.tekwire.net/joomla/building/apache/http-hpux-11-11">
-<!ENTITY url.iana.locale.subtags "http://www.iana.org/assignments/language-subtag-registry">
-<!ENTITY url.ibase "http://www.embarcadero.com/products/interbase">
-<!ENTITY url.ibm.db2.client "https://www.ibm.com/developerworks/downloads/im/db2express/index.html">
-<!ENTITY url.ibm.ccsid "https://www.ibm.com/docs/en/i/7.5?topic=information-ccsid-reference">
-<!ENTITY url.ibm.pase.i "https://www.ibm.com/docs/en/i/7.5?topic=ssw_ibm_i_75/apis/pase_locales.html">
-<!ENTITY url.ibmdb2 "http://www-306.ibm.com/software/data/db2/">
-<!ENTITY url.ibmdb2.ad "http://www.ibm.com/software/data/db2/ad">
-<!ENTITY url.ibmdb2.con "http://www.ibm.com/software/data/db2/db2connect">
-<!ENTITY url.icu.data "https://unicode-org.github.io/icu/userguide/icu_data/">
-<!ENTITY url.icu.datepattern "https://unicode-org.github.io/icu/userguide/format_parse/datetime/">
-<!ENTITY url.icu.docs "https://icu.unicode.org/docs/">
-<!ENTITY url.icu.choiceformat "https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classChoiceFormat.html">
-<!ENTITY url.icu.dateformat "https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/udat_8h.html">
-<!ENTITY url.icu.dateformat2 "https://unicode-org.github.io/icu/userguide/format_parse/datetime/#datetime-format-syntax">
-<!ENTITY url.icu.decimalformat "https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classDecimalFormat.html">
-<!ENTITY url.icu.formatnumbers "https://unicode-org.github.io/icu/userguide/format_parse/numbers/">
-<!ENTITY url.icu.formatmsg "https://unicode-org.github.io/icu/userguide/format_parse/messages/">
-<!ENTITY url.icu.formatparse "https://unicode-org.github.io/icu/userguide/format_parse/">
-<!ENTITY url.icu.home "https://icu.unicode.org/">
-<!ENTITY url.icu.locale.guide "https://unicode-org.github.io/icu/userguide/locale/">
-<!ENTITY url.icu.locale.api "https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/uloc_8h.html">
-<!ENTITY url.icu.locales "https://unicode-org.github.io/icu/userguide/locale/">
-<!ENTITY url.icu.msgformat "https://unicode-org.github.io/icu/userguide/format_parse/messages/">
-<!ENTITY url.icu.normalization.guide "https://unicode-org.github.io/icu/userguide/transforms/normalization/">
-<!ENTITY url.icu.normalization.api "https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unorm_8h.html">
-<!ENTITY url.icu.resources "https://unicode-org.github.io/icu/userguide/locale/resources.html">
-<!ENTITY url.icu.ruleformat "https://unicode-org.github.io/icu/userguide/format_parse/numbers/rbnf.html">
-<!ENTITY url.icu.restrictionlevel "https://unicode-org.github.io/icu-docs/apidoc/dev/icu4j/com/ibm/icu/text/SpoofChecker.RestrictionLevel.html">
-<!ENTITY url.icu.tzdatabase "https://www.iana.org/time-zones">
-<!ENTITY url.icu.userguide "https://unicode-org.github.io/icu/userguide/">
-<!ENTITY url.icu.uca "https://www.unicode.org/reports/tr10/">
-<!ENTITY url.icu.autoQuoteApostrophe "https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/umsg_8h.html#a0a5ea3090b5b7f3fa5fa376a5d68cb32">
-<!ENTITY url.icu.quoting "https://unicode-org.github.io/icu/userguide/format_parse/messages/#quotingescaping">
-<!ENTITY url.icu.rulebasedbreakiteratorguide "https://unicode-org.github.io/icu/userguide/boundaryanalysis/break-rules.html">
-<!ENTITY url.igbinary "https://github.com/igbinary/igbinary">
-<!ENTITY url.iis "http://support.microsoft.com/kb/q160422/">
-<!ENTITY url.iis.enable "https://docs.microsoft.com/en-us/previous-versions/ms181052(v=vs.80)">
-<!ENTITY url.iis.express "https://www.microsoft.com/en-us/download/details.aspx?id=48264">
-<!ENTITY url.iis.fastcgi.downloads "http://www.iis.net/extensions/fastcgi">
-<!ENTITY url.iis.fastcgi.settings "http://learn.iis.net/page.aspx/248/configuring-fastcgi-extension-for-iis-60/">
-<!ENTITY url.imagemagick "http://www.imagemagick.org/">
-<!ENTITY url.imagemagick.usage.color_mods.sigmoidal "https://usage.imagemagick.org/color_mods/#sigmoidal">
-<!ENTITY url.imagemagick.usage.transform.function "https://usage.imagemagick.org/transform/#function">
-<!ENTITY url.imap "https://github.com/uw-imap/imap">
-<!ENTITY url.imap.book "http://oreilly.com/catalog/9780596000127/">
-<!ENTITY url.imode "http://www.nttdocomo.com/services/imode/">
-<!ENTITY url.informix.connectionstring "https://www.ibm.com/docs/en/informix-servers/14.10?topic=sources-connection-string-keywords-that-make-connection">
-<!ENTITY url.informix.csdk "https://www.ibm.com/support/pages/download-informix-products">
-<!ENTITY url.informix.dsn "https://www.ibm.com/docs/en/informix-servers/14.10?topic=guide-configure-data-sources">
-<!ENTITY url.ingres.downloads "http://esd.ingres.com/">
-<!ENTITY url.ingres.peclext "http://esd.ingres.com/product/drivers/PHP/">
-<!ENTITY url.ingres.wiki "http://community.ingres.com/wiki/">
-<!ENTITY url.install.unix.pax-mprotect "https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Restrict_mprotect()">
-<!ENTITY url.install.unix.w-x-violation "https://en.wikipedia.org/wiki/W^X">
-<!ENTITY url.install.windows.stepbystep "https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2">
-<!ENTITY url.installkits "http://wikipedia.org/wiki/List_of_AMP_packages">
-<!ENTITY url.iodbc "http://www.iodbc.org/">
-<!ENTITY url.ip2long.tech "http://ps-2.kev009.com/wisclibrary/aix52/usr/share/man/info/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm">
-<!ENTITY url.iptc "http://www.iptc.org/">
-<!ENTITY url.iso-639 "http://www.loc.gov/standards/iso639-2/php/code_list.php">
-<!ENTITY url.iso-8601.duration "http://en.wikipedia.org/wiki/Iso8601#Durations">
-<!ENTITY url.iso-8601.repeating_intervals "http://en.wikipedia.org/wiki/Iso8601#Repeating_intervals">
-<!ENTITY url.jacobi "http://primes.utm.edu/glossary/page.php?sort=JacobiSymbol">
-<!ENTITY url.jpeg "http://www.ijg.org/">
-<!ENTITY url.js.intl-datetimeformat "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions#timezone">
-<!ENTITY url.js.temporal-zoneddatetime "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime#time_zones_and_offsets">
-<!ENTITY url.json "http://www.json.org/">
-<!ENTITY url.libargon2 "https://github.com/P-H-C/phc-winner-argon2">
-<!ENTITY url.libevent "http://libevent.org/">
-<!ENTITY url.libev "http://software.schmorp.de/pkg/libev.html">
-<!ENTITY url.ldap.netscape "https://wiki.mozilla.org/Directory">
-<!ENTITY url.ldap.netscape.sdk "https://wiki.mozilla.org/LDAP_C_SDK">
-<!ENTITY url.ldap.netscape.sdk.docs "https://wiki.mozilla.org/Mozilla_LDAP_SDK_Programmer%27s_Guide">
-<!ENTITY url.ldap.filters "https://wiki.mozilla.org/Mozilla_LDAP_SDK_Programmer%27s_Guide/Searching_the_Directory_With_LDAP_C_SDK">
-<!ENTITY url.ldap.bind9 "http://www.bind9.net/download-openldap/">
-<!ENTITY url.ldap.openldap "http://www.openldap.org/">
-<!ENTITY url.ldap.openldap.source "https://www.openldap.org/software/download/">
-<!ENTITY url.ldap.openldap-c-api "https://www.ietf.org/proceedings/50/I-D/ldapext-ldap-c-api-05.txt">
-<!ENTITY url.libedit "http://www.thrysoee.dk/editline/">
-<!ENTITY url.libevent "http://libevent.org/">
-<!ENTITY url.libffi "https://sourceware.org/libffi/">
-<!ENTITY url.libiconv "http://www.gnu.org/software/libiconv/">
-<!ENTITY url.liblzf "http://oldhome.schmorp.de/marc/liblzf.html">
-<!ENTITY url.librpm "https://rpm.org/">
-<!ENTITY url.libsodium "https://libsodium.org/">
-<!ENTITY url.libsodium.argon2 "https://doc.libsodium.org/password_hashing/default_phf">
-<!ENTITY url.libxml "https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home">
-<!ENTITY url.libxml.errorcodes "https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlerror.html">
-<!ENTITY url.libxslt "https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home">
-<!ENTITY url.libssh2 "http://libssh2.org/">
-<!ENTITY url.libpng "http://www.libpng.org/pub/png/libpng.html">
-<!ENTITY url.libradius "http://www.freebsd.org/cgi/man.cgi?query=libradius">
-<!ENTITY url.libradius.conf "http://www.freebsd.org/cgi/man.cgi?query=radius.conf">
-<!ENTITY url.libxcrypt "https://github.com/besser82/libxcrypt">
-<!ENTITY url.libxpm "http://www.ibiblio.org/pub/Linux/libs/X/!INDEX.html">
-<!ENTITY url.libzip "https://libzip.org/">
-<!ENTITY url.lighttpd.doc "http://trac.lighttpd.net/trac/">
-<!ENTITY url.litespeed.cpanel "https://docs.litespeedtech.com/cp/cpanel/quickstart/#easyapache-integration">
-<!ENTITY url.litespeed.install "https://docs.openlitespeed.org/installation/source/">
-<!ENTITY url.litespeed.lsws "https://docs.litespeedtech.com/products/lsws/installation/">
-<!ENTITY url.litespeed.packages "https://docs.litespeedtech.com/extapp/php/getting_started/#litespeed-repo-search-packages">
-<!ENTITY url.litespeed.php "https://docs.litespeedtech.com/extapp/php/configuration/control/">
-<!ENTITY url.litespeed.plesk "https://docs.litespeedtech.com/cp/plesk/">
-<!ENTITY url.litespeed.open "https://docs.openlitespeed.org/kb/category/php/">
-<!ENTITY url.litespeed.web.server "https://docs.litespeedtech.com/extapp/php/getting_started/">
-<!ENTITY url.lmdb "https://symas.com/lmdb/">
-<!ENTITY url.lua "http://www.lua.org/">
-<!ENTITY url.mac.fink "http://www.finkproject.org/">
-<!ENTITY url.mac.homebrew "https://github.com/Homebrew/brew">
-<!ENTITY url.mac.macports "http://www.macports.org/">
-<!ENTITY url.mac.liip "http://php-osx.liip.ch/">
-<!ENTITY url.mariadb "http://www.mariadb.org/">
-<!ENTITY url.maxmind "http://www.maxmind.com/">
-<!ENTITY url.maxmind.fips "http://www.maxmind.com/app/fips10_4">
-<!ENTITY url.maxmind.geoip "http://www.maxmind.com/app/c">
-<!ENTITY url.maxmind.iso3166 "http://www.maxmind.com/en/iso3166">
-<!ENTITY url.mcrypt "http://mcrypt.sourceforge.net/">
-<!ENTITY url.mcrypt.iv "http://www.ciphersbyritter.com/GLOSSARY.HTM#IV">
-<!ENTITY url.mcrypt.bcm "http://www.quadibloc.com/crypto/co0409.htm">
-<!ENTITY url.libmemcached "http://libmemcached.org/libMemcached.html">
-<!ENTITY url.memcache.protocol "https://github.com/memcached/memcached/blob/master/doc/protocol.txt">
-<!ENTITY url.memcache "http://www.memcached.org/">
-<!ENTITY url.mersenne "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html">
-<!ENTITY url.mhash "http://mhash.sourceforge.net/">
-<!ENTITY url.microsoft.controlservice "https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-controlservice">
-<!ENTITY url.microsoft.return.code "https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes">
-<!ENTITY url.microsoft.visualc.redistr "https://visualstudio.microsoft.com/downloads/#microsoft-visual-c-redistributable-for-visual-studio-2022">
-<!ENTITY url.mirrors "https://www.php.net/mirrors.php">
-<!ENTITY url.ml.general.subscribe "[email protected]">
-<!ENTITY url.ml.general.unsubscribe "[email protected]">
-<!ENTITY url.mm "http://www.ossp.org/pkg/lib/mm/">
-<!-- pecl/mongodb -->
-<!ENTITY url.mongodb.github.phpc "https://github.com/mongodb/mongo-php-driver">
-<!ENTITY url.mongodb.github.phplib "https://github.com/mongodb/mongo-php-library">
-<!ENTITY url.mongodb.github.hhvm "https://github.com/mongodb/mongo-hhvm-driver">
-<!ENTITY url.mongodb.jira.phpc "https://jira.mongodb.org/browse/PHPC">
-<!ENTITY url.mongodb.jira.phplib "https://jira.mongodb.org/browse/PHPLIB">
-<!ENTITY url.mongodb.jira.hhvm "https://jira.mongodb.org/browse/HHVM">
-<!ENTITY url.mongodb.hhvm.releases "https://github.com/mongodb/mongo-hhvm-driver/releases">
-<!ENTITY url.mongodb.composer "https://getcomposer.org/">
-<!ENTITY url.mongodb.libbson "https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson">
-<!ENTITY url.mongodb.library "https://github.com/mongodb/mongo-php-library">
-<!ENTITY url.mongodb.library.docs "https://www.mongodb.com/docs/php-library/current/">
-<!ENTITY url.mongodb.library.apidocs "https://www.mongodb.com/docs/php-library/current/reference">
-<!ENTITY url.mongodb.libmongoc "https://github.com/mongodb/mongo-c-driver">
-<!ENTITY url.mongodb.libmongocrypt "https://github.com/mongodb/libmongocrypt">
-<!ENTITY url.mongodb.libmongocrypt.allow.list "https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#libmongocrypt-auto-encryption-allow-list">
-<!ENTITY url.mongodb.glossary "https://www.mongodb.com/docs/manual/reference/glossary/">
-<!ENTITY url.mongodb.doctrine "https://github.com/doctrine/mongodb">
-<!ENTITY url.mongodb.doctrine-odm "https://github.com/doctrine/mongodb-odm">
-<!ENTITY url.mongodb.drivers "https://www.mongodb.com/docs/drivers/">
-<!ENTITY url.mongodb.specs "https://github.com/mongodb/specifications">
-<!ENTITY url.mongodb.specs.extendedjson "https://github.com/mongodb/specifications/blob/master/source/extended-json/extended-json.md">
-<!ENTITY url.mongodb.crud "https://github.com/mongodb/specifications/blob/master/source/crud/crud.md">
-<!ENTITY url.mongodb.serverselection "https://github.com/mongodb/specifications/blob/master/source/server-selection/server-selection.md">
-<!ENTITY url.mongodb.sdam "https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.md">
-<!ENTITY url.mongodb.sdam-monitoring "https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring-logging-and-monitoring.md">
-<!ENTITY url.mongodb.docs.regex "https://www.mongodb.com/docs/manual/reference/operator/query/regex/">
-<!ENTITY url.mongodb.docs.bson "https://www.mongodb.com/docs/manual/reference/bson-types/">
-<!ENTITY url.mongodb.docs.collation "https://www.mongodb.com/docs/upcoming/reference/collation/">
-<!ENTITY url.mongodb.docs.extendedjson "https://www.mongodb.com/docs/manual/reference/mongodb-extended-json/">
-<!ENTITY url.mongodb.docs.maxtimems "https://www.mongodb.com/docs/manual/tutorial/terminate-running-operations/#maxtimems">
-<!ENTITY url.mongodb.docs.objectid "https://www.mongodb.com/docs/manual/reference/bson-types/#objectid">
-<!ENTITY url.mongodb.docs.readconcern "https://www.mongodb.com/docs/manual/reference/read-concern/">
-<!ENTITY url.mongodb.docs.readpreference "https://www.mongodb.com/docs/manual/core/read-preference/">
-<!ENTITY url.mongodb.docs.transactions "https://www.mongodb.com/docs/manual/core/transactions/">
-<!ENTITY url.mongodb.docs.writeconcern "https://www.mongodb.com/docs/manual/reference/write-concern/">
-<!ENTITY url.mongodb.wiki.crud "https://en.wikipedia.org/wiki/Create,_read,_update_and_delete">
-<!ENTITY url.mongodb.wiki.decimal128 "https://en.wikipedia.org/wiki/Decimal128_floating-point_format">
-<!ENTITY url.mongodb.wiki.mitm "https://en.wikipedia.org/wiki/Man-in-the-middle_attack">
-<!ENTITY url.mongodb.wiki.pkg-config "https://en.wikipedia.org/wiki/Pkg-config">
-<!-- pecl/mongo -->
-<!ENTITY url.mongodb.cifs "https://help.ubuntu.com/community/MountWindowsSharesPermanently">
-<!ENTITY url.mongodb.dochub.mapreduce "https://www.mongodb.com/docs/manual/core/map-reduce/">
-<!ENTITY url.mongodb.dochub.security "https://www.mongodb.com/docs/manual/security/">
-<!ENTITY url.mongodb.docs "https://www.mongodb.com/docs/manual/">
-<!ENTITY url.mongodb.docs.gridfs "https://www.mongodb.com/docs/manual/core/gridfs/">
-<!ENTITY url.mongodb.docs.command "https://www.mongodb.com/docs/manual/reference/command/">
-<!ENTITY url.mongodb.github "https://github.com/mongodb/mongo-php-driver-legacy">
-<!ENTITY url.mongodb.github.new "https://github.com/mongodb/mongo-php-driver">
-<!ENTITY url.mongodb.jira "https://jira.mongodb.org/browse/PHP">
-<!ENTITY url.mono "http://www.mono-project.com/">
-<!ENTITY url.msoffice.serverside "http://support.microsoft.com/kb/257757">
-<!ENTITY url.msql "https://hughestech.com.au/products/msql/">
-<!ENTITY url.mysql "http://www.mysql.com/">
-<!ENTITY url.mysql.docs "http://dev.mysql.com/doc/">
-<!ENTITY url.mysql.docs.commit "http://dev.mysql.com/doc/mysql/en/commit.html">
-<!ENTITY url.mysql.docs.connect.encryption "https://dev.mysql.com/doc/refman/8.0/en/encrypted-connection-options.html">
-<!ENTITY url.mysql.docs.connect.shell.uri "https://dev.mysql.com/doc/refman/8.0/en/mysql-shell-connection-using-uri.html">
-<!ENTITY url.mysql.docs.date "http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html">
-<!ENTITY url.mysql.docs.document-store "https://dev.mysql.com/doc/refman/8.0/en/document-store.html">
-<!ENTITY url.mysql.docs.error "http://dev.mysql.com/doc/mysql/en/error-handling.html">
-<!ENTITY url.mysql.docs.refresh "https://dev.mysql.com/doc/c-api/8.4/en/mysql-refresh.html">
-<!ENTITY url.mysql.docs.ssl.set "https://dev.mysql.com/doc/c-api/8.4/en/mysql-ssl-set.html">
-<!ENTITY url.mysql.docs.ssl.using "https://dev.mysql.com/doc/en/using-encrypted-connections.html">
-<!ENTITY url.mysql.docs.stmt-attr-set "http://dev.mysql.com/doc/en/mysql-stmt-attr-set.html">
-<!ENTITY url.mysql.docs.replication "http://dev.mysql.com/doc/mysql/en/replication.html">
-<!ENTITY url.mysql.example "http://dev.mysql.com/doc/world-setup/en/index.html">
-<!ENTITY url.mysql.sakila "http://dev.mysql.com/doc/sakila/en/index.html">
-<!ENTITY url.mysql.charsets "http://dev.mysql.com/doc/mysql/en/charset-charsets.html">
-<!ENTITY url.mysql.charsets.config "http://dev.mysql.com/doc/mysql/en/charset-configuration.html">
-<!ENTITY url.network.port-numbers "http://www.iana.org/assignments/port-numbers">
-<!ENTITY url.nginx "https://www.nginx.com/resources/wiki/">
-<!ENTITY url.nginx.wiki.install "https://www.nginx.com/resources/wiki/start/topics/tutorials/install/">
-<!ENTITY url.oauth.scale "http://oauth.pbwiki.com/ScalableOAuth/">
-<!ENTITY url.oauth.examples "https://svn.php.net/viewvc/pecl/oauth/trunk/examples">
-<!ENTITY url.oauth.problemreporting "http://wiki.oauth.net/ProblemReporting">
-<!ENTITY url.oauth.provider.tutorial "http://toys.lerdorf.com/archives/55-Writing-an-OAuth-Provider-Service.html">
-<!ENTITY url.openal "https://www.openal.org/">
-<!ENTITY url.openbsd "http://www.openbsd.org/">
-<!ENTITY url.openbsd.chroot "http://www.openbsd.org/cgi-bin/man.cgi?query=chroot">
-<!ENTITY url.openbsd.faq4 "https://www.openbsd.org/faq/faq4.html#FilesNeeded">
-<!ENTITY url.openbsd.packages "http://www.openbsd.org/cgi-bin/man.cgi?query=packages">
-<!ENTITY url.openbsd.ports "http://www.openbsd.org/faq/ports/ports.html">
-<!ENTITY url.openlink "http://www.openlinksw.com/">
-<!ENTITY url.openssl "http://www.openssl.org/">
-<!ENTITY url.openssl.ciphers "https://docs.openssl.org/master/man1/openssl-ciphers/">
-<!ENTITY url.openssl.protocol-versions "https://docs.openssl.org/master/man3/SSL_CTX_set_min_proto_version/">
-<!ENTITY url.openssl.ciphers.mozilla "https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_Ciphersuite">
-<!ENTITY url.openssl.security-level "https://docs.openssl.org/master/man3/SSL_CTX_set_security_level/">
-<!ENTITY url.openssl.config "https://docs.openssl.org/master/man5/config/">
-<!ENTITY url.operator.source "https://github.com/jb-lopez/pecl-php-operator/">
-<!ENTITY url.oracle.instant.client "https://www.oracle.com/database/technologies/instant-client.html">
-<!ENTITY url.oracle.oic.connect "https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-E5358DEA-D619-4B7B-A799-3D2F802500F1">
-<!ENTITY url.oracle.drcp.configure "https://docs.oracle.com/en/database/oracle/oracle-database/23/jjdbc/database-resident-connection-pooling.html">
-<!ENTITY url.oracle.drcp.whitepaper "https://www.oracle.com/technetwork/topics/php/whatsnew/php-scalability-ha-twp-128842.pdf">
-<!ENTITY url.oracle.taf.ociguide "https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-F7817CD2-4A2C-4D37-BD36-56DBABD4725F">
-<!ENTITY url.oracle.taf.rac "https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-DEF850F6-27E9-428E-B8FC-530230D78AD2">
-<!ENTITY url.oracle.taf.srvctl "https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-8DC4D5E0-CA9D-47BC-BAD0-8769405AFEC5">
-<!ENTITY url.oracle.taf.dbmsservice "https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-C11449DC-EEDE-4BB8-9D2C-0A45198C1928">
-<!ENTITY url.oracle.taf.clientconfig "https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-8F532535-C401-4B51-BE0B-04FD74BB0621">
-<!ENTITY url.oreilly.cjk-inf "https://resources.oreilly.com/examples/9781565922242/blob/master/doc/cjk.inf">
-<!ENTITY url.packagist "https://packagist.org">
-<!-- linking to specific packagist packages is done like so: &url.packagist.package;package_name -->
-<!ENTITY url.packagist.package "https://packagist.org/packages/">
-<!ENTITY url.parle.lib "http://www.benhanson.net/">
-<!ENTITY url.password.compat "https://github.com/ircmaxell/password_compat">
-<!ENTITY url.pcre.changelog "http://www.pcre.org/original/changelog.txt">
-<!ENTITY url.pcre.man "http://www.pcre.org/pcre.txt">
-<!ENTITY url.pcre2.changelog "https://github.com/PCRE2Project/pcre2/blob/master/NEWS">
-<!ENTITY url.pcre2.github "https://github.com/PCRE2Project/pcre2">
-<!ENTITY url.pcre2.limits "https://pcre2project.github.io/pcre2/doc/pcre2limits/">
-<!ENTITY url.pcre2.man "https://pcre2project.github.io/pcre2/doc/">
-<!ENTITY url.pcre2.perlcompat "https://pcre2project.github.io/pcre2/doc/pcre2compat/">
-<!ENTITY url.pcre2.website "https://pcre2project.github.io/pcre2/">
-<!ENTITY url.pdf "http://www.pdflib.com/products/pdflib-family/">
-<!ENTITY url.pdf.fpdf "http://www.fpdf.org/">
-<!ENTITY url.pdf.tcpdf "http://www.tcpdf.org/">
-<!ENTITY url.pie "https://github.com/php/pie">
-<!ENTITY url.pie.usage "https://php.github.io/pie/#docs/usage">
-<!ENTITY url.pear "https://pear.php.net/">
-<!ENTITY url.pear.package "https://pear.php.net/package/">
-<!ENTITY url.pear.installation "https://pear.php.net/manual/en/installation.php">
-<!-- linking to specific pear packages is done like so: &url.pear.package;package_name -->
-<!ENTITY url.pecl "https://pecl.php.net/">
-<!ENTITY url.pecl.package "https://pecl.php.net/package/">
-<!ENTITY url.pecl.vcs "https://svn.php.net/viewvc/pecl/">
-<!ENTITY url.pecl.submit "https://pecl.php.net/package-new.php">
-<!-- linking to specific pecl packages is done like so: &url.pecl.package;package_name -->
-<!ENTITY url.pecl.package.get "https://pecl.php.net/get/">
-<!ENTITY url.perconaserver "https://www.percona.com/mysql/software/percona-server-for-mysql">
-<!ENTITY url.pgsql "http://www.postgresql.org/">
-<!ENTITY url.pgsql.manual "http://www.postgresql.org/docs/current/interactive/">
-<!ENTITY url.phd "https://wiki.php.net/doc/phd/">
-<!ENTITY url.php "https://www.php.net/">
-<!ENTITY url.php.anongit "https://www.php.net/git.php">
-<!ENTITY url.php.bugs "https://github.com/php/php-src/issues">
-<!ENTITY url.php.bugs.howtoreport "https://bugs.php.net/how-to-report.php">
-<!ENTITY url.php.doc.downloads "https://www.php.net/download-docs.php">
-<!ENTITY url.php.docs "https://www.php.net/docs.php">
-<!ENTITY url.php.dochowto "https://doc.php.net/guide/">
-<!ENTITY url.php.downloads "https://www.php.net/downloads.php">
-<!ENTITY url.php.git "https://github.com/php/">
-<!ENTITY url.php.git.mirror "https://github.com/php/">
-<!ENTITY url.php.win.downloads "https://windows.php.net/download/">
-<!ENTITY url.php.win.build "https://wiki.php.net/internals/windows/stepbystepbuild">
-<!ENTITY url.php.win.build2 "https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2">
-<!ENTITY url.php.echm "https://www.php.net/docs-echm.php">
-<!ENTITY url.php.gtk "http://gtk.php.net/">
-<!ENTITY url.php.license "https://www.php.net/license/">
-<!ENTITY url.php.mailing-lists "https://www.php.net/mailing-lists.php">
-<!ENTITY url.php.museum "https://museum.php.net/">
-<!ENTITY url.php.news "news://news.php.net/">
-<!ENTITY url.php.newsweb "http://news.php.net/">
-<!ENTITY url.php.pear.manual "https://pear.php.net/manual/">
-<!ENTITY url.php.pear "https://pear.php.net/">
-<!ENTITY url.php.pear.cli "https://pear.php.net/manual/en/guide.users.commandline.cli.php">
-<!ENTITY url.php.prerelease "https://qa.php.net/">
-<!ENTITY url.php.release1.0.0 "http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133">
-<!ENTITY url.php.release4.1.0 "https://www.php.net/releases/4_1_0.php">
-<!ENTITY url.php.release4.2.0 "https://www.php.net/releases/4_2_0.php">
-<!ENTITY url.php.svn "https://svn.php.net/">
-<!ENTITY url.php.git.phpini "https://github.com/php/php-src/blob/master/php.ini-production">
-<!-- linking to specific source file is done like so: &url.php.git.src.master.view;file_path -->
-<!ENTITY url.php.git.src.master.view "https://github.com/php/php-src/blob/master/">
-<!ENTITY url.php.talks 'http://talks.php.net/'>
-<!ENTITY url.php.support "https://www.php.net/support.php">
-<!ENTITY url.php.urlhowto "https://www.php.net/urlhowto.php">
-<!ENTITY url.phpctv "https://phpc.tv/">
-<!ENTITY url.phpdbg.docs "https://phpdbg.room11.org/">
-<!ENTITY url.phpeditorlist "http://en.wikipedia.org/wiki/List_of_PHP_editors">
-<!ENTITY url.powerarchiver "http://www.powerarchiver.com/">
-<!ENTITY url.proleptic-gregorian-calendar "https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar">
-<!ENTITY url.pslib "http://pslib.sourceforge.net/">
-<!ENTITY url.pspell "http://aspell.net/">
-<!ENTITY url.qdbm "http://fallabs.com/qdbm/index.html">
-<!ENTITY url.tcadb "http://fallabs.com/tokyocabinet/">
-<!ENTITY url.qmail "http://cr.yp.to/qmail.html">
-<!ENTITY url.quickzip "http://www.quickzip.org/">
-<!ENTITY url.random.mersenne-twister "http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/ARTICLES/mt.pdf">
-<!ENTITY url.random.pcg "https://www.pcg-random.org/">
-<!ENTITY url.random.xoshiro "https://prng.di.unimi.it/">
-<!ENTITY url.random.gamma-section "https://dl.acm.org/doi/10.1145/3503512">
-<!ENTITY url.rar "http://www.rarlabs.com/">
-<!ENTITY url.re2c "https://re2c.org/">
-<!ENTITY url.readline "https://tiswww.case.edu/php/chet/readline/rltop.html">
-<!ENTITY url.readline.windows "http://mingweditline.sourceforge.net/">
-<!ENTITY url.recode "http://directory.fsf.org/All_GNU_Packages/recode.html">
-<!ENTITY url.rec-xml "http://www.w3.org/TR/1998/REC-xml-19980210">
-<!ENTITY url.relaxng "http://www.relaxng.org/">
-<!-- linking to specific rfcs is done like so: &url.rfc;xxxx so for example &url.rfc;2042 -->
-<!ENTITY url.rfc "https://datatracker.ietf.org/doc/html/rfc">
-<!ENTITY url.rnp "https://www.rnpgp.org/">
-<!ENTITY url.iana.system-names 'http://www.iana.org/assignments/operating-system-names'>
-<!ENTITY url.rpmfind "http://www.rpmfind.net/">
-<!ENTITY url.rpmfind.pbone "http://rpm.pbone.net/">
-<!ENTITY url.rrd "http://www.mrtg.org/rrdtool/">
-<!ENTITY url.sambar "http://www.sambar.com/">
-<!ENTITY url.seaslog.document "https://seasx.github.io/SeasLog/">
-<!ENTITY url.sed "http://www.gnu.org/software/sed/sed.html">
-<!ENTITY url.setlocale.lang.win32 "http://msdn.microsoft.com/en-us/library/39cwe7zf.aspx">
-<!ENTITY url.setlocale.country.win32 "http://msdn.microsoft.com/en-us/library/cdax410z.aspx">
-<!ENTITY url.session-fixation "https://acrossecurity.com/papers/session_fixation.pdf">
-<!ENTITY url.session-save-handler "https://github.com/php/php-src/blob/master/ext/session/tests/save_handler.inc">
-<!ENTITY url.sleepycat "http://www.sleepycat.com/">
-<!ENTITY url.smart.questions "http://www.catb.org/~esr/faqs/smart-questions.html">
-<!ENTITY url.socket.faq "http://www.unixguide.net/network/socketfaq/">
-<!ENTITY url.solid "http://www.solidtech.com/">
-<!ENTITY url.solr.support "https://groups.google.com/forum/#!forum/php-solr">
-<!ENTITY url.sqlite "http://sqlite.org/">
-<!ENTITY url.sqlite.collation "http://sqlite.org/datatype3.html#collation">
-<!ENTITY url.sqlite.tempfiles "https://sqlite.org/tempfiles.html">
-<!ENTITY url.sqlsrv "http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx">
-<!ENTITY url.sqlsrv.repo "https://github.com/microsoft/msphpsql">
-<!ENTITY url.sqlsrv.connection.options "http://msdn.microsoft.com/en-us/library/ff628167.aspx">
-<!ENTITY url.sqlsrv.connection.pooling "http://msdn.microsoft.com/en-us/library/cc644930.aspx">
-<!ENTITY url.sqlsrv.error.handling "http://msdn.microsoft.com/en-us/library/cc626302.aspx">
-<!ENTITY url.sqlsrv.snac.x86download "http://go.microsoft.com/fwlink/?LinkID=239647">
-<!ENTITY url.sqlsrv.snac.x64download "http://go.microsoft.com/fwlink/?LinkID=239648">
-<!ENTITY url.sqlsrv.system.requirements "http://msdn.microsoft.com/en-us/library/cc296170.aspx">
-<!ENTITY url.sqlsrv.transaction.handling "http://msdn.microsoft.com/en-us/library/cc296206.aspx">
-<!ENTITY url.sqlsrv.field.metadata "http://msdn.microsoft.com/en-us/library/cc296197.aspx">
-<!ENTITY url.sqlsrv.default.phptypes "http://msdn.microsoft.com/en-us/library/cc296193.aspx">
-<!ENTITY url.sqlsrv.specify.cursortype "http://msdn.microsoft.com/en-us/library/ee376927.aspx">
-<!ENTITY url.sqlsrv.specify.phptype "http://msdn.microsoft.com/en-us/library/cc296208.aspx">
-<!ENTITY url.sqlsrv.specify.sqltype "http://msdn.microsoft.com/en-us/library/cc626305.aspx">
-<!ENTITY url.sqlsrv.logging.activity "http://msdn.microsoft.com/en-us/library/cc296188.aspx">
-<!ENTITY url.sqlsrv.direct.execution "http://msdn.microsoft.com/en-us/library/ff754356.aspx">
-<!ENTITY url.sqlsrv.linuxodbc "http://www.microsoft.com/download/en/details.aspx?id=28160">
-<!ENTITY url.sqlsrv.linux-mac "https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac">
-<!ENTITY url.sqlsrv.localdb "http://msdn.microsoft.com/en-us/library/hh487161.aspx">
-<!ENTITY url.sqlsrv.localdbinfo "http://msdn.microsoft.com/en-us/library/hh510202(SQL.110).aspx">
-<!ENTITY url.sqlsrv.localdbdownload "http://go.microsoft.com/fwlink/?LinkID=237665">
-<!ENTITY url.sqlsrv.v2driverdownload "http://download.microsoft.com/download/C/D/B/CDB0A3BB-600E-42ED-8D5E-E4630C905371/SQLSRV20.EXE">
-<!ENTITY url.ssdeep.libssdeep "http://ssdeep.sourceforge.net">
-<!ENTITY url.ssdeep.ctph "http://dfrws.org/2006/proceedings/12-Kornblum.pdf">
-<!ENTITY url.stuffit "http://www.stuffit.com/">
-<!ENTITY url.strftime.win32 "http://msdn.microsoft.com/en-us/library/fe06s4ak.aspx">
-<!ENTITY url.strftime.format.designer "http://strftime.net/">
-<!ENTITY url.strnatcmp "https://github.com/sourcefrog/natsort">
-<!ENTITY url.stomp "https://stomp.github.io/">
-<!ENTITY url.svm "http://www.csie.ntu.edu.tw/~cjlin/libsvm">
-<!ENTITY url.svn "http://subversion.apache.org/">
-<!ENTITY url.svn.manual.add "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.add.html">
-<!ENTITY url.svn.manual.delete "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.delete.html">
-<!ENTITY url.svn.manual.cat "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.cat.html">
-<!ENTITY url.svn.manual.checkout "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.checkout.html">
-<!ENTITY url.svn.manual.cleanup "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.cleanup.html">
-<!ENTITY url.svn.manual.commit "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.commit.html">
-<!ENTITY url.svn.manual.diff "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.diff.html">
-<!ENTITY url.svn.manual.import "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.import.html">
-<!ENTITY url.svn.manual.log "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.log.html">
-<!ENTITY url.svn.manual.list "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.list.html">
-<!ENTITY url.svn.manual.status "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.status.html">
-<!ENTITY url.svn.manual.update "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.update.html">
-<!ENTITY url.svn.manual.externaldifftools "http://svnbook.red-bean.com/en/1.2/svn.advanced.externaldifftools.html">
-<!ENTITY url.swoole.docs "https://wiki.swoole.com/">
-<!ENTITY url.sybase "http://www.sybase.com/">
-<!ENTITY url.symbole-legendre "http://primes.utm.edu/glossary/page.php?sort=LegendreSymbol">
-<!ENTITY url.symmetric.difference "https://en.wikipedia.org/wiki/Symmetric_difference">
-<!ENTITY url.sys.stat.header "http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html">
-<!ENTITY url.t1lib "http://www.ibiblio.org/pub/Linux/libs/graphics/">
-<!ENTITY url.tidb "https://www.pingcap.com/tidb/">
-<!ENTITY url.tidy "http://tidy.sourceforge.net/">
-<!ENTITY url.tidy.conf "http://api.html-tidy.org/#quick-reference">
-<!ENTITY url.tidy5 "http://www.html-tidy.org/">
-<!ENTITY url.tidyp "https://github.com/petdance/tidyp">
-<!ENTITY url.trader.lib "https://ta-lib.org/">
-<!ENTITY url.trader.unstable-period "https://ta-lib.org/api/?h=unstable#Unstable+Period">
-<!ENTITY url.net-snmp "http://www.net-snmp.org/">
-<!ENTITY url.ui.libui "https://github.com/andlabs/libui">
-<!ENTITY url.ultimatezip "http://www.ultimatezip.com/">
-<!ENTITY url.unicode "http://www.unicode.org/">
-<!ENTITY url.unicode.bidirectional "http://www.unicode.org/reports/tr9/">
-<!ENTITY url.unicode.reports.tr "http://www.unicode.org/reports/tr">
-<!ENTITY url.unicode.normalization "http://unicode.org/reports/tr15/">
-<!ENTITY url.unicode.normalization.faq "http://unicode.org/faq/normalization.html">
-<!ENTITY url.unicode.reports "http://www.unicode.org/reports/tr21/">
-<!ENTITY uri.unicode.graphemes "http://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries">
-<!ENTITY uri.unicode.ldml "www.unicode.org/reports/tr35">
-<!ENTITY url.unicode.ucd "http://www.unicode.org/ucd/">
-<!ENTITY url.unixodbc "http://www.unixodbc.org/">
-<!ENTITY url.url.rfc3986 "https://www.ietf.org/rfc/rfc3986.txt">
-<!ENTITY url.url.whatwg-url "https://url.spec.whatwg.org/">
-<!ENTITY url.userlandnaming.cs "https://github.com/php/php-src/raw/master/CODING_STANDARDS.md">
-<!ENTITY url.uuid "http://www.ossp.org/pkg/lib/uuid/">
-<!ENTITY url.v8engine "http://code.google.com/p/v8/">
-<!ENTITY url.varnish.cache "https://www.varnish-cache.org/">
-<!ENTITY url.wampserver "https://www.wampserver.com">
-<!ENTITY url.wiki.complement "https://en.wikipedia.org/wiki/Complement_(set_theory)">
-<!ENTITY url.wiki.intersection "https://en.wikipedia.org/wiki/Intersection_(set_theory)">
-<!ENTITY url.wiki.leap-seconds "http://en.wikipedia.org/wiki/Leap_second">
-<!ENTITY url.wiki.quicksort "http://en.wikipedia.org/wiki/Quicksort">
-<!ENTITY url.wiki.recursive-acronym "http://en.wikipedia.org/wiki/Recursive_acronym">
-<!ENTITY url.wiki.symmetric.difference "https://en.wikipedia.org/wiki/Symmetric_difference">
-<!ENTITY url.wiki.tzdb.names "https://en.wikipedia.org/wiki/Tz_database#Names_of_timezones">
-<!ENTITY url.wiki.union.set "https://en.wikipedia.org/wiki/Union_(set_theory)">
-<!ENTITY url.wiki.windows.build.howto "https://wiki.php.net/internals/windows/stepbystepbuild">
-<!ENTITY url.wincmd "http://www.ghisler.com/">
-<!ENTITY url.win32service.kb914392 "https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/914392">
-<!ENTITY url.winhelp "http://msdn.microsoft.com/library/en-us/htmlhelp/html/vsconhh1start.asp">
-<!ENTITY url.winrar "http://www.rarlab.com/">
-<!ENTITY url.winzip "http://www.winzip.com/">
-<!ENTITY url.wddx "http://www.openwddx.org/">
-<!ENTITY url.wkhtmltopdf "http://wkhtmltopdf.org">
-<!ENTITY url.xampp "https://www.apachefriends.org/">
-<!ENTITY url.xattr "http://savannah.nongnu.org/projects/attr/">
-<!ENTITY url.xchm "http://xchm.sourceforge.net/">
-<!ENTITY url.xdebug "http://xdebug.org/">
-<!ENTITY url.xdiff "http://www.xmailserver.org/xdiff-lib.html">
-<!ENTITY url.xhprof.docs.facebook "http://web.archive.org/web/20110514095512/http://mirror.facebook.net/facebook/xhprof/doc.html">
-<!ENTITY url.xhprof.gui.fork1 "http://github.com/preinheimer/xhprof">
-<!ENTITY url.xinclude.spec "http://www.w3.org/TR/xinclude/">
-<!ENTITY url.xitami "http://www.xitami.com/">
-<!ENTITY url.xforms "http://www.w3.org/MarkUp/Forms/">
-<!ENTITY url.xforms.htmlauthors "http://www.w3.org/MarkUp/Forms/2003/xforms-for-html-authors.html">
-<!ENTITY url.xkcd "http://xkcd.com/">
-<!ENTITY url.xml "http://www.w3.org/XML/">
-<!ENTITY url.xmlrpc "http://www.xmlrpc.com/">
-<!ENTITY url.xmlrpc-epi "http://xmlrpc-epi.sourceforge.net/">
-<!ENTITY url.xslt "http://www.w3.org/TR/xslt">
-<!ENTITY url.yaf.benchmarks "http://www.laruence.com/2011/12/02/2333.html">
-<!ENTITY url.yaml "http://www.yaml.org/">
-<!ENTITY url.yaml.libyaml "http://pyyaml.org/wiki/LibYAML">
-<!ENTITY url.yaz "http://www.indexdata.dk/yaz/">
-<!ENTITY url.yaz.zoom.ext "https://software.indexdata.com/yaz/doc/zoom.html">
-<!ENTITY url.yaz.ftp.win32 "http://ftp.indexdata.dk/pub/yaz/win32/">
-<!ENTITY url.yaz.ftp "http://ftp.indexdata.dk/pub/yaz/">
-<!ENTITY url.yaz-ccl "https://software.indexdata.com/yaz/doc/tools.html#CCL">
-<!ENTITY url.yaz-phpyaz "http://www.indexdata.dk/phpyaz/">
-<!ENTITY url.yaz.ill "http://www.collectionscanada.ca/iso/ill/stanprf.htm">
-<!ENTITY url.yaz-proxy "http://www.indexdata.dk/yazproxy/">
-<!ENTITY url.yaz.specs "http://www.collectionscanada.ca/iso/ill/document/standard/z-ill-1a.pdf">
-<!ENTITY url.yaz-loc "http://www.loc.gov/z3950/agency/">
-<!ENTITY url.yaz-loc-bib1 "http://www.loc.gov/z3950/agency/defns/bib1.html">
-<!ENTITY url.yaz-marcxml "http://www.loc.gov/standards/marcxml/">
-<!ENTITY url.yaz.z3950.4 "http://www.loc.gov/z3950/agency/markup/04.html#3.2.1.1.4">
-<!ENTITY url.zend "http://www.zend.com/">
-<!ENTITY url.zend.ide "http://www.zend.com/en/products/studio/">
-<!ENTITY url.zeromq "http://zeromq.org/">
-<!ENTITY url.zlib "http://www.zlib.net/">
-<!ENTITY url.zlib.manual "http://www.zlib.net/manual.html">
-<!ENTITY url.zookeeper "https://zookeeper.apache.org/">
-<!ENTITY url.zookeeper.doc.cbinding "https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#C+Binding">
-
-<!ENTITY spec.http1.1 'http://tools.ietf.org/html/rfc7231'>
-<!ENTITY spec.soap1.1 'http://www.w3.org/TR/soap11/'>
-<!ENTITY spec.soap1.2 'http://www.w3.org/TR/soap12/'>
-<!ENTITY spec.wsdl 'http://www.w3.org/TR/wsdl'>
-
-<!ENTITY book.applied.cryptography 'Applied Cryptography by Schneier (ISBN 0-471-11709-9)'>
-<!ENTITY book.programming.classics "Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)">
-
-<!ENTITY email.php.install '[email protected]'>
-<!ENTITY email.php.install.subscribe '[email protected]'>
-<!ENTITY email.php.doc '[email protected]'>
-<!ENTITY email.php.doc.license '[email protected]'>
-<!ENTITY email.php.doc.subscribe '[email protected]'>
-<!ENTITY email.sample '[email protected]'>
-
-<!ENTITY link.superglobals '<link xmlns="http://docbook.org/ns/docbook" linkend="language.variables.predefined">superglobals</link>'>
-<!ENTITY link.autoload '<link xmlns="http://docbook.org/ns/docbook" linkend="language.oop5.autoload">__autoload</link>'>
-
-<!ENTITY link.composer '<link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.composer;">Composer</link>'>
-
-<!ENTITY link.pecl '<link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.pecl;">PECL</link>'>
-
-<!ENTITY link.pie '<link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.pie;">PIE</link>'>
-
-<!ENTITY spec.strftime 'http://www.opengroup.org/onlinepubs/007908799/xsh/strftime.html'>
-<!ENTITY spec.pdf.fdf 'http://www.adobe.com/devnet/acrobat/fdftoolkit.html'>
-
-<!-- The three special language constants -->
-<!ENTITY true '<constant xmlns="http://docbook.org/ns/docbook">true</constant>'>
-<!ENTITY false '<constant xmlns="http://docbook.org/ns/docbook">false</constant>'>
-<!ENTITY null '<constant xmlns="http://docbook.org/ns/docbook">null</constant>'>
-<!-- use <type>null</type> if you're talking about the _type_ null,
- use &null; if it's about the _value_ null
- -->
-<!ENTITY array '<type xmlns="http://docbook.org/ns/docbook">array</type>'>
-<!ENTITY integer '<type xmlns="http://docbook.org/ns/docbook">int</type>'>
-<!ENTITY string '<type xmlns="http://docbook.org/ns/docbook">string</type>'>
-<!ENTITY boolean '<type xmlns="http://docbook.org/ns/docbook">bool</type>'>
-<!ENTITY float '<type xmlns="http://docbook.org/ns/docbook">float</type>'>
-<!ENTITY object '<type xmlns="http://docbook.org/ns/docbook">object</type>'>
-<!ENTITY resource '<type xmlns="http://docbook.org/ns/docbook">resource</type>'>
-<!ENTITY mixed '<type xmlns="http://docbook.org/ns/docbook">mixed</type>'>
-<!ENTITY never '<type xmlns="http://docbook.org/ns/docbook">never</type>'>
-
-<!-- Exception keywords -->
-<!ENTITY throw '<link xmlns="http://docbook.org/ns/docbook" linkend="language.exceptions"><literal>throw</literal></link>'>
-<!ENTITY try '<link xmlns="http://docbook.org/ns/docbook" linkend="language.exceptions"><literal>try</literal></link>'>
-<!ENTITY catch '<link xmlns="http://docbook.org/ns/docbook" linkend="language.exceptions.catch"><literal>catch</literal></link>'>
-<!ENTITY finally '<link xmlns="http://docbook.org/ns/docbook" linkend="language.exceptions.finally"><literal>finally</literal></link>'>
-
-<!-- Function keywords -->
-<!ENTITY function '<link xmlns="http://docbook.org/ns/docbook" linkend="functions.user-defined"><literal>function</literal></link>'>
-<!ENTITY return '<link xmlns="http://docbook.org/ns/docbook" linkend="function.return"><literal>return</literal></link>'>
-
-<!-- Namespace keywords -->
-<!ENTITY namespace '<link xmlns="http://docbook.org/ns/docbook" linkend="language.namespaces.definition"><literal>namespace</literal></link>'>
-<!ENTITY use.namespace '<link xmlns="http://docbook.org/ns/docbook" linkend="language.namespaces.importing"><literal>use</literal></link>'>
-
-<!-- Other keywords -->
-<!ENTITY const '<link xmlns="http://docbook.org/ns/docbook" linkend="language.constants.syntax"><literal>const</literal></link>'>
-<!ENTITY declare '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.declare"><literal>declare</literal></link>'>
-<!ENTITY foreach '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.foreach"><literal>foreach</literal></link>'>
-<!ENTITY global '<link xmlns="http://docbook.org/ns/docbook" linkend="language.variables.scope.global"><literal>global</literal></link>'>
-<!ENTITY instanceof '<link xmlns="http://docbook.org/ns/docbook" linkend="language.operators.type"><literal>instanceof</literal></link>'>
-<!ENTITY new '<link xmlns="http://docbook.org/ns/docbook" linkend="language.oop5.basic.new"><literal>new</literal></link>'>
-<!ENTITY yield '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.yield"><literal>yield</literal></link>'>
-<!ENTITY yield.from '<link xmlns="http://docbook.org/ns/docbook" linkend="control-structures.yield.from"><literal>yield from</literal></link>'>
-
-<!ENTITY callback.cmp '<methodsynopsis xmlns="http://docbook.org/ns/docbook"><type>int</type><methodname><replaceable>callback</replaceable></methodname><methodparam><type>mixed</type><parameter>a</parameter></methodparam><methodparam><type>mixed</type><parameter>b</parameter></methodparam></methodsynopsis>'>
-
-<!ENTITY php.ini '<filename xmlns="http://docbook.org/ns/docbook">php.ini</filename>'>
-<!ENTITY user-ini '<filename xmlns="http://docbook.org/ns/docbook">.user.ini</filename>'>
-<!ENTITY httpd.conf '<filename xmlns="http://docbook.org/ns/docbook">httpd.conf</filename>'>
-<!ENTITY htaccess '<filename xmlns="http://docbook.org/ns/docbook">.htaccess</filename>'>
diff --git a/funcindex.xml b/funcindex.xml
deleted file mode 100644
index 4e0fdf51b3..0000000000
--- a/funcindex.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-
-This file is now being ignored, after DTD subsystem minimization.
-Yet, it is mentioned by name in configure.php, file-entities.php
-and in PhD repo. All cases are related to PhD, but configure.php
-includes this file as is, before any PhD stuff has a chance to run.
-
-After it is removed by name from all these points, it can be deleted.
-
--->
-
-<!-- DO NOT EDIT THIS FILE. The index info comes from PhD -->
-<appendix xmlns="http://docbook.org/ns/docbook" xml:id="indexes">
- <title>&IndexListing;</title>
- <section xml:id="indexes.functions">
- <title>&FunctionListing;</title>
- <para>&FunctionListingDescription;</para>
- <?phpdoc generate-index-for="refentry"?>
- </section>
- <section xml:id="indexes.examples">
- <title>&ExampleListing;</title>
- <para>&ExampleListingDescription;</para>
- <?phpdoc generate-index-for="examples"?>
- </section>
-</appendix>
diff --git a/manual.xml b/manual.xml
deleted file mode 100644
index cae7b040b5..0000000000
--- a/manual.xml
+++ /dev/null
@@ -1,510 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-
-
-This file is now being ignored, after third-party manual split.
-Yet, it is mentioned by name in configure.php, on PhD related
-code paths.
-
-After these code paths are updated or moved into PhD, this can
-be deleted.
-
-Keep these comments outside SGML comment tags, as to make this
-file invalid for XML loading.
-
-
-
-<!DOCTYPE PHPDOC [
-
-<!-- Parameter entities used to configure manual.xml -->
-<!ENTITY % configure SYSTEM "./temp/manual.ent">
-%configure;
-
-<!-- Entities collected by entities.php -->
-<!ENTITY % manual-entities SYSTEM "./temp/entities.ent">
-%manual-entities;
-
-<!-- Translation layer, if any -->
-%translation-defs;
-%translation-snippets;
-%translation-extensions;
-
-<!-- English manual (also works as fallback layer for incomplete translations) -->
-<!ENTITY % language-defs.default SYSTEM "../en/language-defs.ent">
-<!ENTITY % language-snippets.default SYSTEM "../en/language-snippets.ent">
-<!ENTITY % extensions.default SYSTEM "../en/extensions.ent">
-%language-defs.default;
-%extensions.default;
-%language-snippets.default;
-
-<!-- Language independent entities, and language dependent file entities -->
-<!ENTITY % global.entities SYSTEM "./entities/global.ent">
-<!ENTITY % frontpage.entities SYSTEM "../en/contributors.ent">
-<!ENTITY % file.entities SYSTEM "./temp/file-entities.ent">
-%global.entities;
-%file.entities;
-%frontpage.entities;
-]>
-
-<set xmlns="http://docbook.org/ns/docbook" version="5.2" xml:id="index" xml:lang="&LANG;" xmlns:xlink="http://www.w3.org/1999/xlink">
- <title>&PHPManual;</title>
- &bookinfo;
-
- <book xml:id="manual" annotations="chunk:false">
- <title>&PHPManual;</title>
- &preface;
- </book>
-
- <book xml:id="getting-started">
- <title>&GettingStarted;</title>
- &chapters.intro;
- &chapters.tutorial;
- </book>
-
- <book xml:id="install">
- <title>&InstallAndConfigure;</title>
- &install.intro;
- &install.unix.index;
- &install.macos.index;
- &install.windows.index;
- &install.cloud.index;
- &install.fpm.index;
- &install.pecl;
- &install.composer;
- &install.pie;
- &install.ini;
- </book>
-
- <book xml:id="langref">
- <title>&LanguageReference;</title>
- &language.basic-syntax;
- &language.types;
- &language.variables;
- &language.constants;
- &language.expressions;
- &language.operators;
- &language.control-structures;
- &language.functions;
- &language.oop5;
- &language.namespaces;
- &language.enumerations;
- &language.errors;
- &language.exceptions;
- &language.fibers;
- &language.generators;
- &language.attributes;
- &language.references;
- &language.predefined.variables;
- &language.predefined.exceptions;
- &language.predefined.interfaces;
- &language.predefined.attributes;
- &language.context;
- &language.wrappers;
- </book>
-
- <book xml:id="security">
- <title>&Security;</title>
- &security.intro;
- &security.general;
- &security.cgi-bin;
- &security.apache;
- &security.sessions;
- &security.filesystem;
- &security.database;
- &security.errors;
- &security.variables;
- &security.hiding;
- &security.current;
- </book>
-
- <book xml:id="features">
- <title>&Features;</title>
- &features.http-auth;
- &features.cookies;
- &features.sessions;
- &features.file-upload;
- &features.remote-files;
- &features.connection-handling;
- &features.persistent-connections;
- &features.commandline;
- &features.gc;
- &features.dtrace;
- </book>
-
- <set xml:id="funcref">
- <title>&FunctionReference;</title>
- <info xmlns="http://docbook.org/ns/docbook" xml:id="funcrefinfo">
- <abstract>
- <para>
- <tip>
- <simpara>
- &Seealso; <xref linkend="extensions" />.
- </simpara>
- </tip>
- </para>
- </abstract>
- </info>
-
- <set xml:id="refs.basic.php">
- <title>&AffectingPHPsBehaviour;</title>
- &reference.apcu.book;
- &reference.componere.book;
- &reference.errorfunc.book;
- &reference.ffi.book;
- &reference.opcache.book;
- &reference.operator.book;
- &reference.outcontrol.book;
- &reference.info.book;
- &reference.phpdbg.book;
- &reference.runkit7.book;
- &reference.uopz.book;
- &reference.wincache.book;
- &reference.xhprof.book;
- &reference.yac.book;
- </set>
-
- <set xml:id="refs.utilspec.audio">
- <title>&AudioFormatsManipulation;</title>
- &reference.openal.book;
- </set>
-
- <set xml:id="refs.remote.auth">
- <title>&AuthenticationServices;</title>
- &reference.radius.book;
- </set>
-
- <set xml:id="refs.utilspec.cmdline">
- <title>&CommandLineSpecificExtensions;</title>
- &reference.readline.book;
- </set>
-
- <set xml:id="refs.compression">
- <title>&CompressionExtensions;</title>
- &reference.bzip2.book;
- &reference.lzf.book;
- &reference.phar.book;
- &reference.rar.book;
- &reference.zip.book;
- &reference.zlib.book;
- </set>
-
- <set xml:id="refs.crypto">
- <title>&CryptographyExtensions;</title>
- &reference.hash.book;
- &reference.mcrypt.book;
- &reference.mhash.book;
- &reference.openssl.book;
- &reference.password.book;
- &reference.rnp.book;
- &reference.sodium.book;
- &reference.xpass.book;
- </set>
-
- <set xml:id="refs.database">
- <title>&DatabaseExtensions;</title>
-
- <set xml:id="refs.database.abstract">
- <title>&AbstractionLayers;</title>
- &reference.dba.book;
- &reference.uodbc.book;
- &reference.pdo.book;
- </set>
-
- <set xml:id="refs.database.vendors">
- <title>&VendorSpecificDatabaseExtensions;</title>
- &reference.cubrid.book;
- &reference.dbase.book;
- &reference.ibase.book;
- &reference.ibm-db2.book;
- &reference.mongodb.book;
- &reference.mysqlinfo.set;
- &reference.oci8.book;
- &reference.pgsql.book;
- &reference.sqlite3.book;
- &reference.sqlsrv.book;
- </set>
- </set>
-
- <set xml:id="refs.calendar">
- <title>&CalendarandEventRelatedExtensions;</title>
- &reference.calendar.book;
- &reference.datetime.book;
- &reference.hrtime.book;
- </set>
-
- <set xml:id="refs.fileprocess.file">
- <title>&FileSystemRelatedExtensions;</title>
- &reference.dio.book;
- &reference.dir.book;
- &reference.fileinfo.book;
- &reference.filesystem.book;
- &reference.inotify.book;
- &reference.xattr.book;
- &reference.xdiff.book;
- </set>
-
- <set xml:id="refs.international">
- <title>&HumanLanguageandCharacterEncodingSupport;</title>
- &reference.enchant.book;
- &reference.gender.book;
- &reference.gettext.book;
- &reference.iconv.book;
- &reference.intl.book;
- &reference.mbstring.book;
- &reference.pspell.book;
- &reference.recode.book;
- </set>
-
- <set xml:id="refs.utilspec.image">
- <title>&ImageProcessingandGeneration;</title>
- &reference.exif.book;
- &reference.image.book;
- &reference.gmagick.book;
- &reference.imagick.book;
- </set>
-
- <set xml:id="refs.remote.mail">
- <title>&MailRelatedExtensions;</title>
- &reference.imap.book;
- &reference.mail.book;
- &reference.mailparse.book;
- </set>
-
- <set xml:id="refs.math">
- <title>&MathematicalExtensions;</title>
- &reference.bc.book;
- &reference.gmp.book;
- &reference.math.book;
- &reference.stats.book;
- &reference.trader.book;
- </set>
-
- <set xml:id="refs.utilspec.nontext">
- <title>&NonTextMIMEOutput;</title>
- &reference.fdf.book;
- &reference.gnupg.book;
- &reference.wkhtmltox.book;
- &reference.ps.book;
- &reference.rpminfo.book;
- &reference.xlswriter.book;
- </set>
-
- <set xml:id="refs.fileprocess.process">
- <title>&ProcessControlExtensions;</title>
- &reference.eio.book;
- &reference.ev.book;
- &reference.expect.book;
- &reference.pcntl.book;
- &reference.posix.book;
- &reference.exec.book;
- &reference.parallel.book;
- &reference.pthreads.book;
- &reference.sem.book;
- &reference.shmop.book;
- &reference.sync.book;
- </set>
-
- <set xml:id="refs.basic.other">
- <title>&OtherBasicExtensions;</title>
- &reference.geoip.book;
- &reference.fann.book;
- &reference.igbinary.book;
- &reference.json.book;
- &reference.simdjson.book;
- &reference.lua.book;
- &reference.luasandbox.book;
- &reference.misc.book;
- &reference.random.book;
- &reference.seaslog.book;
- &reference.spl.book;
- &reference.stream.book;
- &reference.swoole.book;
- &reference.tidy.book;
- &reference.tokenizer.book;
- &reference.uri.book;
- &reference.url.book;
- &reference.v8js.book;
- &reference.yaml.book;
- &reference.yaf.book;
- &reference.yaconf.book;
- &reference.taint.book;
- &reference.ds.book;
- &reference.var-representation.book;
- </set>
-
- <set xml:id="refs.remote.other">
- <title>&OtherServices;</title>
- &reference.curl.book;
- &reference.event.book;
- &reference.ftp.book;
- &reference.gearman.book;
- &reference.ldap.book;
- &reference.memcache.book;
- &reference.memcached.book;
- &reference.mqseries.book;
- &reference.network.book;
- &reference.rrd.book;
- &reference.scoutapm.book;
- &reference.snmp.book;
- &reference.sockets.book;
- &reference.ssh2.book;
- &reference.stomp.book;
- &reference.svm.book;
- &reference.svn.book;
- &reference.tcpwrap.book;
- &reference.varnish.book;
- &reference.yaz.book;
- &reference.zmq.book;
- &reference.zookeeper.book;
- </set>
-
- <set xml:id="refs.search">
- <title>&SearchEngineExtensions;</title>
- &reference.solr.book;
- </set>
-
- <set xml:id="refs.utilspec.server">
- <title>&ServerSpecificExtensions;</title>
- &reference.apache.book;
- &reference.litespeed.book;
- &reference.fpm.book;
- </set>
-
- <set xml:id="refs.basic.session">
- <title>&SessionExtensions;</title>
- &reference.session.book;
- </set>
-
- <set xml:id="refs.basic.text">
- <title>&TextProcessing;</title>
- &reference.cmark.book;
- &reference.parle.book;
- &reference.pcre.book;
- &reference.ssdeep.book;
- &reference.strings.book;
- </set>
-
- <set xml:id="refs.basic.vartype">
- <title>&VariableandTypeRelatedExtensions;</title>
- &reference.array.book;
- &reference.classobj.book;
- &reference.ctype.book;
- &reference.filter.book;
- &reference.funchand.book;
- &reference.quickhash.book;
- &reference.reflection.book;
- &reference.var.book;
- </set>
-
- <set xml:id="refs.webservice">
- <title>&WebServices;</title>
- &reference.oauth.book;
- &reference.soap.book;
- &reference.yar.book;
- &reference.xmlrpc.book;
- </set>
-
- <set xml:id="refs.utilspec.windows">
- <title>&WindowsOnlyExtensions;</title>
- &reference.com.book;
- &reference.win32service.book;
- </set>
-
- <set xml:id="refs.xml">
- <title>&XMLManipulation;</title>
- &reference.dom.book;
- &reference.libxml.book;
- &reference.simplexml.book;
- &reference.wddx.book;
- &reference.xmldiff.book;
- &reference.xml.book;
- &reference.xmlreader.book;
- &reference.xmlwriter.book;
- &reference.xsl.book;
- </set>
-
- <set xml:id="refs.ui">
- <title>&UIExtensions;</title>
- &reference.ui.book;
- </set>
- </set>
-
- <book xml:id="faq">
- <title>&FAQ;</title>
- <titleabbrev>&FAQabbrev;</titleabbrev>
- &faq.general;
- &faq.mailinglist;
- &faq.obtaining;
- &faq.databases;
- &faq.installation;
- &faq.build;
- &faq.using;
- &faq.passwords;
- &faq.html;
- &faq.com;
- &faq.misc;
- </book>
-
- <book xml:id="appendices">
- <title>&Appendices;</title>
- &appendices.history;
- &appendices.examples;
- &appendices.migration85;
- &appendices.migration84;
- &appendices.migration83;
- &appendices.migration82;
- &appendices.migration81;
- &appendices.migration80;
- &appendices.migration74;
- &appendices.migration73;
- &appendices.migration72;
- &appendices.migration71;
- &appendices.migration70;
- &appendices.migration56;
- &appendices.debugger;
- &appendices.configure.index;
- &appendices.ini;
- &appendices.extensions;
- &appendices.aliases;
- &appendices.reserved;
- &appendices.resources;
- &appendices.filters;
- &appendices.transports;
- &appendices.comparisons;
- &appendices.tokens;
- &appendices.userlandnaming;
- &appendices.about;
- &appendices.license;
- &global.function-index;
- <appendix xmlns="http://docbook.org/ns/docbook" xml:id="doc.changelog">
- <title>&ChangelogListingTitle;</title>
- <para>&ChangelogListingBundledDescription;</para>
- <?phpdoc changelog-config-since="5.0.0" ?>
- <?phpdoc generate-changelog-for-membership="core bundled bundledexternal" ?>
- </appendix>
- </book>
-
- &manual.chmonly;
-
-</set>
-
-<!-- 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
--->
diff --git a/scripts/file-entities.php b/scripts/file-entities.php
index a0b5a47da7..ef26c039f4 100644
--- a/scripts/file-entities.php
+++ b/scripts/file-entities.php
@@ -26,8 +26,8 @@
The files are created at:
-- doc-base/temp/file-entites.ent
-- doc-base/temp/file-entites/dir.dir.ent
+- doc-base/temp/file-entites.dtd
+- doc-base/temp/file-entites/dir.dir.dtd
The file entity for directory listings is kept as an separate files,
instead of a monolithic one, to avoid these libxml errors, in some
@@ -53,27 +53,15 @@
const ENTITY_NAME_REPLACE = true;
const LIBXML_LIMITS_HACK = true;
-// Setup
-
-ini_set( 'display_errors' , 1 );
-ini_set( 'display_startup_errors' , 1 );
-error_reporting( E_ALL );
-set_time_limit( 0 );
-ob_implicit_flush();
-
-// Usage
+// LangDirs are informed in overwriting order:
+// Unique/fallback first, optional translation second.
$langs = [];
$langBase = realpain( __DIR__ . "/../.." );
array_shift( $argv );
foreach( $argv as $arg )
-{
$langs[] = rtrim( $arg , "\\/" );
-}
-
-// Languages are passed base first, translation second.
-// Without arguments, default to the base manual tree.
if ( count( $langs ) == 0 )
$langs = [ "en" ];
@@ -97,11 +85,6 @@
exit( 0 );
-// old scheme
-// file en
-// list en
-// file? lang
-
class Entity
{
public function __construct(
@@ -184,14 +167,6 @@ function check_case_conflict( array $allFIles )
function generate_entities( array $allFiles , array & $entities )
{
- // Ugly, but necessary
- // TODO move this file from doc-bese to doc-en, with a do-not-translate PI
-
- $name = 'global.function-index';
- $file = realpain( __DIR__ . "/../funcindex.xml" );
- $text = "<!ENTITY $name SYSTEM '$file'>";
- pushEntity( $entities , $name , $text );
-
// Inclusion of a single file is easy. The entity name is the
// relative path without the .xml extension (sadly), and the text
// is complete DTD entity with a SYSTEM pointing to the real path
@@ -206,18 +181,18 @@ function generate_entities( array $allFiles , array & $entities )
// Inclusion of reference/ directories is a little more involved.
// The entity name is calculated from the relative path, but with
- // an 'entities' component added in penultimae position. The
- // contents are concatened DTD entities references, as above.
+ // an 'entities' component added in the penultimate position. The
+ // contents are concatenated DTD entities references, as above.
- // LIBXML_LIMITS_HACK - Unfortunatlly, we nedd to put these entities
- // that expand in another DTD entities as separate files, to bypass
+ // LIBXML_LIMITS_HACK - Unfortunately, we need to put these entities
+ // that expand in other DTD entities as separate files, to bypass
// some hardcoded limits of libxml2. This is slow, more so on HDDs.
- // BACKPORT_MIXED_REPLACE - Anoying enought, the previous script
+ // BACKPORT_MIXED_REPLACE - Annoying enough, the previous script
// normalized the entity name, but not the file name of the extra file
- // file. So indirect file entities ends having a surprising convention:
+ // file. So indirect file entities end up having a surprising convention:
//
- // <!ENTITY name-dir SYSTEM 'name_dir.ent'>
+ // <!ENTITY name-dir SYSTEM 'name_dir.dtd'>
//
// Mind the distinction between _ and - above. In the future, let's
// remove this, to make debugging easier.
@@ -232,7 +207,7 @@ function generate_entities( array $allFiles , array & $entities )
if ( ! str_starts_with ( $path , 'reference' ) )
continue;
- // Entity name
+ // DirEnt name
//
// Discard the file part, 'entities' in the
// second-to-last position.
@@ -247,18 +222,18 @@ function generate_entities( array $allFiles , array & $entities )
$entName = implode( '.' , $parts );
$entName = str_replace( '_' , '-' , $entName ); // BACKPORT_MIXED_REPLACE
- // Entity fila
+ // DirEnt file
//
- // dir/dir/dir/file.xml -> dir.dir.dir.ent
+ // dir/dir/dir/file.xml -> dir.dir.dir.dtd
$parts = explode( '/' , $path );
array_pop( $parts );
- array_push( $parts , 'ent');
+ array_push( $parts , 'dtd');
$entFile = implode( '.' , $parts );
$groupFilename[ $entName ] = $entFile;
- // Contents
+ // DirEnt item
$name = pathToEntityName( $path );
$entRef = "&{$name};";
@@ -290,7 +265,7 @@ function pathToEntityName( string $name , string $removeSuffix = "" ) : string
$name = trim( $name , '.' );
return $name;
- // ENTITY_NAME_REPLACE, or a TODO to a far future
+ // ENTITY_NAME_REPLACE, or a TODO to a far future:
// - Replace all name replaced entities from doc en
// - Add the removed entities on doc-en/entities/remove.ent
// - Remove all codepaths related to ENTITY_NAME_REPLACE constant
@@ -310,10 +285,10 @@ function pushEntity( array & $entities , string $name , string $text , string $f
function writeEntities( array $entities )
{
- // Output a single temp/file-entities.ent file for single file inclusion.
+ // Output a single temp/file-entities.dtd file for single file inclusion.
- // Output separate files for file list inclusions, at
- // temp/file-entities/dir.dir.dir.ent
+ // Output separate files for file DirEnt inclusions, at
+ // temp/file-entities/dir.dir.dir.dtd
// LIBXML_LIMITS_HACK
ksort( $entities );
@@ -369,11 +344,11 @@ function writeEntities( array $entities )
function writeEntityIndirectSlow( $singleFile , string $extraFile , string $name , string $text )
{
- // The entity will point to to a new, individual filename
+ // The entity will point to to a new, separate filename
fputs( $singleFile , "<!ENTITY $name SYSTEM '$extraFile'>\n" );
- // And the new individual file will hold the final text
+ // And the new individual file will hold the final file listing
file_put_contents( $extraFile , $text );
}