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.
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. |
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. |
Function | Differences |
---|---|
Session handling functions | The INI option support session.use_trans_sid is not supported. |
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 |
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. |
Function | Differences |
---|---|
fsockopen | The errno output argument is not supported. The errstr argument is not supported. Encrypted streams (SSL and TLS) are not available. |
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". |
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. |
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. |
Function | Differences |
---|---|
error_log | Does not support message_type of 1 (email). A warning is issued and function returns false. |
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. |