git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@163646 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Philip Olson 2004-07-19 14:28:16 +00:00
parent b2f1c1cb99
commit 335ead65e1

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.23 $ -->
<!-- $Revision: 1.24 $ -->
<appendix id="migration5">
<title>Migrating from PHP 4 to PHP 5</title>
@ -24,68 +24,89 @@
pay attention to the following backward incompatible changes:
</para>
<itemizedlist>
<listitem><simpara>
<listitem>
<simpara>
<function>strrpos</function> and <function>strripos</function> now use
the entire string as a needle.
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
Illegal use of string offsets causes <constant>E_ERROR</constant> instead
of <constant>E_WARNING</constant>.
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>array_merge</function> was changed to accept only arrays. If a
non-array variable is passed, a <constant>E_WARNING</constant> will be
thrown for every such parameter. Be careful because your code may start
emitting <constant>E_WARNING</constant> out of the blue.
</simpara></listitem>
<listitem><simpara>
PATH_TRANSLATED server variable is no longer set implicitly under
Apache2 SAPI in contrast to the situation in PHP 4, where it is set to
the same value as the SCRIPT_FILENAME server variable when it is not
populated by Apache. This change was made to comply with the <ulink
</simpara>
</listitem>
<listitem>
<simpara>
PATH_TRANSLATED server variable is no longer set implicitly under
Apache2 SAPI in contrast to the situation in PHP 4, where it is set to
the same value as the SCRIPT_FILENAME server variable when it is not
populated by Apache. This change was made to comply with the <ulink
url="&url.cgispecs;">CGI specification</ulink>. Please refer to <ulink
url="&url.php.bugs;23610">bug #23610</ulink> for further information.
</simpara></listitem>
<listitem><simpara>
The <constant>T_ML_CONSTANT</constant> constant is no longer defined by
the <link linkend="ref.tokenizer">Tokenizer</link> extension. If
error_reporting is set to <constant>E_ALL</constant>, PHP will generate a
notice. Although the <constant>T_ML_CONSTANT</constant> was never used
at all, it was defined in PHP 4. In both PHP 4 and PHP 5 // and /* */
are resolved as the <constant>T_COMMENT</constant> constant. However the
PHPDoc style comments /** */ ,which starting PHP 5 are parsed by PHP, are
recognized as <constant>T_DOC_COMMENT</constant>.
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
The <constant>T_ML_CONSTANT</constant> constant is no longer defined by
the <link linkend="ref.tokenizer">Tokenizer</link> extension. If
error_reporting is set to <constant>E_ALL</constant>, PHP will
generate a notice. Although the <constant>T_ML_CONSTANT</constant> was
never used at all, it was defined in PHP 4. In both PHP 4 and PHP 5
// and /* */ are resolved as the <constant>T_COMMENT</constant>
constant. However the PHPDoc style comments /** */ ,which starting PHP
5 are parsed by PHP, are recognized as
<constant>T_DOC_COMMENT</constant>.
</simpara>
</listitem>
<listitem>
<simpara>
$_SERVER should be populated with argc and argv if <link
linkend="ini.variables-order">variables_order</link> includes "S". If
linkend="ini.variables-order">variables_order</link> includes "S". If
you have specifically configured your system to not create $_SERVER,
then of course it shouldn't be there. The change was to always make argc
and argv available in the CLI version regardless of the <link
linkend="ini.variables-order">variables_order</link> setting. As in,
linkend="ini.variables-order">variables_order</link> setting. As in,
the CLI version will now always populate the global $argc and $argv
variables.
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
An object with no properties is no longer considered "empty".
</simpara></listitem>
<listitem><simpara>
In some cases classes must be declared before used. It only happens only
if some of the new features of PHP 5 are used. Otherwise the behaviour is
the old.
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
In some cases classes must be declared before used. It only happens
only if some of the new features of PHP 5 are used. Otherwise the
behaviour is the old.
</simpara>
</listitem>
<listitem>
<simpara>
<function>get_class</function> starting PHP 5 returns the name of the
class as it was declared which may lead to problems in older scripts
that rely on the previous behaviour (the class name was lowercased).
A possible solution is to search for <function>get_class</function> in
all your scripts and use <function>strtolower</function>.
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ip2long</function> now returns FALSE when an invalid IP
address is passed as argument to the function, and no longer
<literal>-1</literal>.
</simpara></listitem>
</simpara>
</listitem>
</itemizedlist>
<para>
@ -223,308 +244,458 @@ Action application/x-httpd-php "/php/php-cgi.exe"
</para>
<para>Arrays:</para>
<itemizedlist>
<listitem><simpara>
<listitem>
<simpara>
<function>array_combine</function> - Creates an array by using one array
for keys and another for its values
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>array_diff_uassoc</function> - Computes the difference of
arrays with additional index check which is performed by a user supplied
callback function
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>array_udiff</function> - Computes the difference of arrays by
using a callback function for data comparison
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>array_udiff_assoc</function> - Computes the difference of
arrays with additional index check. The data is compared by using a
callback function
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>array_udiff_uassoc</function> - Computes the difference of
arrays with additional index check. The data is compared by using a
callback function. The index check is done by a callback function also
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>array_walk_recursive</function> - Apply a user function
recursively to every member of an array
</simpara></listitem>
</simpara>
</listitem>
</itemizedlist>
<para>InterBase:</para>
<itemizedlist>
<listitem><simpara>
<listitem>
<simpara>
<function>ibase_affected_rows</function> - Return the number of rows
that were affected by the previous query
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_backup</function> - Initiates a backup task in the
service manager and returns immediately
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_commit_ret</function> - Commit a transaction without
closing it
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_db_info</function> - Request statistics about a
database
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_drop_db</function> - Drops a database
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_errcode</function> - Return an error code
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_free_event_handler</function> - Cancels a registered
event handler
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_gen_id</function> - Increments the named generator and
returns its new value
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_maintain_db</function> - Execute a maintenance command
on the database server
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_name_result</function> - Assigns a name to a result set
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_num_params</function> - Return the number of parameters
in a prepared query
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_param_info</function> - Return information about a
parameter in a prepared query
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_restore</function> - Initiates a restore task in the
service manager and returns immediately
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_rollback_ret</function> - Rollback transaction and
retain the transaction context
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_server_info</function> - Request statistics about a
database
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_service_attach</function> - Connect to the service manager
</simpara></listitem>
<listitem><simpara>
<function>ibase_service_detach</function> - Disconnect from the service manager
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_service_detach</function> - Disconnect from the
service manager
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_set_event_handler</function> - Register a callback
function to be called when events are posted
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ibase_wait_event</function> - Wait for an event to be posted
by the database
</simpara></listitem>
</simpara>
</listitem>
</itemizedlist>
<para>iconv:</para>
<itemizedlist>
<listitem><simpara>
<listitem>
<simpara>
<function>iconv_mime_decode</function> - Decodes a MIME header field
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>iconv_mime_decode_headers</function> - Decodes multiple MIME
header fields at once
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>iconv_mime_encode</function> - Composes a MIME header field
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>iconv_strlen</function> - Returns the character count of
string
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>iconv_strpos</function> - Finds position of first occurrence
of a needle within a haystack
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>iconv_strrpos</function> - Finds the last occurrence of a
needle within the specified range of haystack
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>iconv_substr</function> - Cut out part of a string
</simpara></listitem>
</simpara>
</listitem>
</itemizedlist>
<para>Streams:</para>
<itemizedlist>
<listitem><simpara>
<listitem>
<simpara>
<function>stream_copy_to_stream</function> - Copies data from one stream
to another
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_get_line</function> - Gets line from stream resource up
to a given delimiter
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_socket_accept</function> - Accept a connection on a
socket created by <function>stream_socket_server</function>
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_socket_client</function> - Open Internet or Unix domain
socket connection
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_socket_get_name</function> - Retrieve the name of the
local or remote sockets
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_socket_recvfrom</function> - Receives data from a
socket, connected or not
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_socket_sendto</function> - Sends a message to a socket,
whether it is connected or not
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>stream_socket_server</function> - Create an Internet or Unix
domain server socket
</simpara></listitem>
</simpara>
</listitem>
</itemizedlist>
<para>Other:</para>
<itemizedlist>
<listitem><simpara>
<listitem>
<simpara>
<function>convert_uudecode</function> - decode a uuencoded string
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>convert_uuencode</function> - uuencode a string
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>curl_copy_handle</function> - Copy a cURL handle
along with all of it's preferences
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>dba_key_split</function> - Splits a key in string
representation into array representation
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>dbase_get_header_info</function> - Get the header info of a
dBase database
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>dbx_fetch_row</function> - Fetches rows from a query-result
that had the DBX_RESULT_UNBUFFERED flag set
</simpara></listitem>
<listitem><simpara>
<function>fbsql_set_password</function> - Change the password for a given user
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>fbsql_set_password</function> - Change the password for a
given user
</simpara>
</listitem>
<listitem>
<simpara>
<function>file_put_contents</function> - Write a string to a file
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ftp_alloc</function> - Allocates space for a file to be
uploaded
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>get_declared_interfaces</function> - Returns an array of all
declared interfaces
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>get_headers</function> - Fetches all the headers sent by the
server in response to a HTTP request
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>headers_list</function> - Returns a list of response headers
sent (or ready to send)
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>http_build_query</function> - Generate URL-encoded query string
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>idate</function> - Format a local time/date as integer
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>image_type_to_extension</function> - Get file extension for
image-type returned by <function>getimagesize</function>,
<function>exif_read_data</function>,
<function>exif_thumbnail</function>,
<function>exif_imagetype</function>
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>imagefilter</function> - Applies Filter an image using a
custom angle
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>imap_getacl</function> - Gets the ACL for a given mailbox
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>ldap_sasl_bind</function> - Bind to LDAP directory using SASL
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>mb_list_encodings</function> - Returns an array of all
supported encodings
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>pcntl_getpriority</function> - Get the priority of any
process
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>pcntl_wait</function> - Waits on or returns the status of a
forked child as defined by the waitpid() system call
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>pg_version</function> - Returns an array with client, protocol
and server version (when available)
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>php_check_syntax</function> - Check the syntax of the
specified file
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>php_strip_whitespace</function> - Return source with stripped
comments and whitespace
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>proc_nice</function> - Change the priority of the current
process
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>pspell_config_data_dir</function> - Change location of
language data files
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>pspell_config_dict_dir</function> - Change location of the
main word list
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>setrawcookie</function> - Send a cookie with no url encoding
of the value
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>snmp_read_mib</function> - Reads and parses a MIB file into
the active MIB tree
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>sqlite_fetch_column_types</function> - Return an array of
column types from a particular table
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>str_split</function> - Convert a string to an array
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>strpbrk</function> - Search a string for any of a set of
characters
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>substr_compare</function> - Binary safe optionally case
insensitive comparison of two strings from an offset, up to length
characters
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<function>time_nanosleep</function> - Delay for a number of seconds and
nano seconds
</simpara></listitem>
</simpara>
</listitem>
</itemizedlist>
<note>
<para>
@ -542,30 +713,40 @@ Action application/x-httpd-php "/php/php-cgi.exe"
list of them:
</para>
<itemizedlist>
<listitem><simpara>
mail.force_extra_parameters - Force the addition of the specified
parameters to be passed as extra parameters to the sendmail binary. These
parameters will always replace the value of the 5th parameter to
<function>mail</function>, even in safe mode
</simpara></listitem>
<listitem><simpara>
<link linkend="ini.register-long-arrays">register_long_arrays</link> -
allow/disallow PHP to register the deprecated long $HTTP_*_VARS
</simpara></listitem>
<listitem><simpara>
<listitem>
<simpara>
mail.force_extra_parameters - Force the addition of the specified
parameters to be passed as extra parameters to the sendmail binary.
These parameters will always replace the value of the 5th parameter to
<function>mail</function>, even in safe mode
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="ini.register-long-arrays">register_long_arrays</link> -
allow/disallow PHP to register the deprecated long $HTTP_*_VARS
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="ini.session.hash-function">session.hash_function</link> -
select a hash function (MD5 or SHA-1)
</simpara></listitem>
<listitem><simpara>
</simpara>
</listitem>
<listitem>
<simpara>
<link
linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link>
linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link>
- define how many bits are stored in each character when converting the
binary hash data to something readable (from 4 to 6)
</simpara></listitem>
<listitem><simpara>
<link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link>
- Enable compatibility mode with Zend Engine 1 (PHP 4)
</simpara></listitem>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link>
- Enable compatibility mode with Zend Engine 1 (PHP 4)
</simpara>
</listitem>
</itemizedlist>
</section>