Hello internal, I've been going through the documentation again to remove mentions of PHP 4 and found some extensions, functions, etc. on which I'd like to know the state of them and if it would be wise to deprecate them.
I know I've thrown in some function aliases again, but only those which I think wouldn't have widespread usage. If those should still be kept in your opinion please let me know. The list are more rough notes that I took while reading the doc so if something seems unclear let me know. - ob_gzhandler, it says in a note that zlib.output_compression <https://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression> is preferred. [1] Moreover, it is poorly documented - the enable_dl directive, it is said that "This deprecated feature *will* certainly be *removed* in the future." [x] is this the case already? addressed in the Deprecation for 7.4 draft RFC [2] - ini_alter an alias of ini_set [3] - Deprecate the mode argument in zip_entry_open as it is ignored and always "*rb*" [4] - Deprecate the use_shortnames argument of openssl_csr_get_public_key as it is ignored [5] - odbc_do — Alias of odbc_exec() ; odbc_field_precision — Alias of odbc_field_len() <https://www.php.net/manual/en/function.odbc-field-len.php> - rewinddir returns null on success and false on failure which is an odd behavior but I suppose it was kept like that due to BC concerns. - The FILE_USE_INCLUDE_PATH constant in the Filesystem extension being an integer makes it unusable with strict types for file_get_contents() [6] however it is also used for a flag argument where it can be combined with other constants with a binary OR [7] [8]. Should this be just considered a Doc Bug? - The Enchant extension is bundled with PHP as of PHP 5.3 [9] however it seems its license is LGPL-2.1 [10] isn't this clashing with the PHP License? - PharData::setAlias, PharData::setDefaultStub and PharData::setStub always throw PharException <https://www.php.net/manual/en/class.pharexception.php> [11] [12] [13] - user_error — Alias of trigger_error() in the Error Handling extension - show_source — Alias of highlight_file() <https://www.php.net/manual/en/function.highlight-file.php> in Misc Functions - GLOB_AVAILABLE_FLAGS is used internally to check for malformed glob flags [14] but it isn't really documented [15] [16] - Deprecate the NoRewindIterator class in the SPL extension as it seems pretty useless [17] - stream_register_wrapper — Alias of stream_wrapper_register() <https://www.php.net/manual/en/function.stream-wrapper-register.php> in Stream Extension - Deprecate the stream_set_timeout function in favour of stream_select as " This function doesn't work with advanced operations like stream_socket_recvfrom() <https://www.php.net/manual/en/function.stream-socket-recvfrom.php>, use stream_select() <https://www.php.net/manual/en/function.stream-select.php> with timeout parameter instead" [18] - Change print return's type from int to void as it always returns 1 [19] to mimic echo [20] or maybe mimic printf's behavior i.e. the length of the string printed [21] - Deprecate the ftp_site function in favour of ftp_raw as ftp_site() does not return the response from the server which isn't really practical as can be seen on these two notes [22][23] - ftp_quit — Alias of ftp_close() <https://www.php.net/manual/en/function.ftp-close.php> - Unbundle the NSAPI Extension (if this is already the case, there is doc error in the membership state of the extension) as it seems obsolete in this day and age as it handles Sun/Netscape servers [24] - socket_getopt — Alias of socket_get_option() and socket_setopt — Alias of socket_set_option() <https://www.php.net/manual/en/function.socket-set-option.php> - Unbundle the XML-RPC extension as it is considered experimental [25] Best regards George P. Banyard [1] https://www.php.net/manual/en/function.ob-gzhandler.php [x] https://www.php.net/manual/en/info.configuration.php [2] https://wiki.php.net/rfc/deprecations_php_7_4 [3] https://www.php.net/manual/en/function.ini-alter.php [4] https://www.php.net/manual/en/function.zip-entry-open.php [5] https://www.php.net/manual/en/function.openssl-csr-get-public-key.php [6] https://www.php.net/manual/en/function.file-get-contents.php [7] https://www.php.net/manual/en/function.file-put-contents.php [8] https://www.php.net/manual/en/function.file.php [9] https://www.php.net/manual/en/enchant.installation.php [10] https://github.com/AbiWord/enchant [11] https://www.php.net/manual/en/phardata.setalias.php [12] https://www.php.net/manual/en/phardata.setdefaultstub.php [13] https://www.php.net/manual/en/phardata.setstub.php [14] https://github.com/php/php-src/blob/master/ext/standard/dir.c#L192 [15] https://www.php.net/manual/en/filesystem.constants.php [16] https://www.php.net/manual/en/function.glob.php [17] https://www.php.net/manual/en/class.norewinditerator.php [18] https://www.php.net/manual/en/function.stream-set-timeout.php#refsect1-function.stream-set-timeout-notes [19] https://www.php.net/manual/en/function.print.php [20] https://www.php.net/manual/en/function.echo.php [21] https://www.php.net/manual/en/function.printf.php [22] https://www.php.net/manual/en/function.ftp-site.php#86838 [23] https://www.php.net/manual/en/function.ftp-site.php#26907 [24] https://www.php.net/manual/en/book.nsapi.php [25] https://www.php.net/manual/en/intro.xmlrpc.php