IBM Integration Bus, Version 10.0.0.9 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS


Differences between IBM Integration Bus PHP and PHP.net

Some differences exist between PHP.net and the implementation of PHP that is provided by IBM® Integration Bus.

The differences for each function are shown in the following tables.

Table 1. MySQL functions
Function Differences
mysql_fetch_field Checks for a distinction between types that are returned from TINYTEXT and VARCHAR. One is a blob, the other is a string. This implementation returns both as VARCHAR, therefore it is not possible to distinguish between them. The call returns the maximum length that is defined in the database, not the maximum length that is used. For example, (VARCHAR[50] xyz = abc) gives 3 on PHP.net, and 50 on IBM Integration Bus PHP.
Table 2. String functions
Function Differences
crypt Not available on Windows.
html_entity_decode Results in a warning if the specified character set hint is not equal to UTF8.
htmlentities Results in a warning if the specified character set hint is not equal to UTF8.
htmlspecialchars Results in a warning if the specified character set hint is not equal to UTF8.
Table 3. Session handling functions
Function Differences
Session handling functions The INI option support session.use_trans_sid is not supported.
Table 4. File system functions
Function Differences
All file system functions Safe mode is not supported.
clearstatcache No statcache exists, therefore this function has no effect.
flock You cannot use flock(, LOCK_EX) to obtain an exclusive lock on a file that is opened as read-only, unless you also have write permissions for the file; this does not mean that you must open the file in write mode, just that you have permission to do so. If you do not have write permissions and False is returned indicating that no lock has been obtained, a warning is generated.
fopen The PHP.net runtime issues a "No such file or directory" message when an invalid mode is used within fopen, whereas IBM Integration Bus PHP issues a message saying that it is an invalid mode.
fseek When you use fopen and file modes with the "t" option under Windows (Windows translation), fseek does not operate in the same way as the runtime PHP.net runtime.
realpath The realpath() function does not detect changes to file names that were previously symbolic links because of the canonical file name cache in Java™. To replicate the behavior in PHP, you can start the JVM with Dsun.io.useCanonCaches=false
Table 5. BCMath Arbitrary Precision Mathematics functions
Function Differences
All BCMath Arbitrary Precision Mathematics functions IBM Integration Bus PHP raises an E_WARNING, whereas PHP.net writes a warning to STDERR.
bcmul IBM Integration Bus PHP does not truncate trailing zeros.
bcpow IBM Integration Bus PHP does not truncate trailing zeros.
bcpowmod IBM Integration Bus PHP does not support trailing zeros when a scale other than 0 is used.
Table 6. Network functions
Function Differences
fsockopen The errno output argument is not supported. The errstr argument is not supported. Encrypted streams (SSL and TLS) are not available.
Table 7. Array functions
Function Differences
All array functions When sorting array entries that have equal weight under the sorting algorithm in use, the resulting sorted array might have entries in a different order to that produced by the sorting algorithms used by PHP.net. For example, a SORT_NUMERIC sort of the values "a","b","c".
Table 8. Multibyte string functions
Function Differences
All multibyte string functions If you specify the correct encoding for character data and if the character data is correct, the mb_* functions operate in the same way as MBString. No guarantee exists that the output is the same as MBString if the character data is not valid or if you do not specify the correct encoding. For example, mb_substr, if you pass in str and define it as UTF-32 when it is really ASCII or UTF-8, you do not get the same result as PHP.net.
mb_convert_encoding Does not support an array or string containing multiple encodings, or auto being passed as the from_encoding value. A PHP warning is generated in these cases.
Table 9. Program execution functions
Function Differences
All program execution functions IBM Integration Bus PHP does not support Safe mode.
proc_open IBM Integration Bus PHP does not support the additional options that are specified by the optional sixth parameter.
proc_terminate IBM Integration Bus PHP does not support the sending of signals to the child process, as specified by the optional second parameter.
proc_get_status This function is not supported by IBM Integration Bus PHP.
Table 10. Error handling and logging functions
Function Differences
error_log Does not support message_type of 1 (email). A warning is issued and function returns false.
Table 11. Stream functions
Function Differences
stream_get_meta_data The unread bytes field (used buffer size) in return is not always the same for file streams, because the file stream implementation does not use buffers.
stream_context_create Support for stream contexts is limited; the HTTP stream type supports only header, method, timeout, and content options.

bc31260_.htm | Last updated 2017-07-17 12:46:16