PHP.net 與 IBM App Connect Enterprise所提供 PHP 的實作之間存在一些差異。
下表顯示每一個函數的差異。
表 1. MySQL 函數
| 函數 |
差異 |
| mysql_fetch_field |
檢查從 TINYTEXT 和 VARCHAR 傳回的類型之間的區別。 一個是 blob ,另一個是字串。 此實作會以 VARCHAR 傳回兩者,因此無法區分它們。 呼叫會傳回資料庫中定義的長度上限,而不是所使用的長度上限。 例如, (VARCHAR[50] xyz = abc) 在 PHP.net上提供 3 ,在 IBM App Connect Enterprise PHP 上提供 50 。 |
表 2. 字串函數
| 函數 |
差異 |
| 加密 |
在 Windows 上無法使用。 |
| html_entity_decode |
如果指定的字集提示不等於 UTF8,則會產生警告。 |
| htmlentities |
如果指定的字集提示不等於 UTF8,則會產生警告。 |
| htmlspecialchars |
如果指定的字集提示不等於 UTF8,則會產生警告。 |
表 3. 階段作業處理功能
| 函數 |
差異 |
| 階段作業處理功能 |
不支援 INI 選項支援 session.use_trans_sid 。 |
表 4. 檔案系統功能
| 函數 |
差異 |
| 所有檔案系統功能 |
不支援安全模式。 |
| clearstatcache |
不存在任何狀態快取,因此此函數沒有作用。 |
| 羊群 |
除非您也具有檔案的寫入權,否則您無法使用 flock (, LOCK_EX) 來取得以唯讀方式開啟之檔案的專用鎖定; 這並不表示您必須以寫入模式開啟檔案,只是您有權這樣做。 如果您沒有寫入權,且傳回 False 指出未取得任何鎖定,則會產生警告。 |
| fopen |
在 fopen 內使用無效模式時, PHP.net 執行時期會發出「無此類檔案或目錄」訊息,而 IBM App Connect Enterprise PHP 會發出訊息,指出它是無效模式。 |
| fseek |
當您在 Windows (Windows 轉換) 下搭配使用 fopen 及檔案模式與 "t" 選項時, fseek 的運作方式與執行時期 PHP.net 執行時期不同。 |
| realpath |
realpath () 函數不會偵測先前為符號鏈結之檔名的變更,因為 Java™中的標準檔名快取。若要抄寫 PHP 中的行為,您可以使用 Dsun.io.useCanonCaches=false 來啟動 JVM。 |
表 5. BCMath 任意精準度數學函數
| 函數 |
差異 |
| 所有 BCMath 任意精準度數學函數 |
IBM App Connect Enterprise PHP 會引發 E_WARNING ,而 PHP.net 會將警告寫入 STDERR。 |
| bcmul |
IBM App Connect Enterprise PHP 不會截斷尾端零。 |
| bcpow |
IBM App Connect Enterprise PHP 不會截斷尾端零。 |
| bcpowmod |
IBM App Connect Enterprise 使用 0 以外的小數位數時, PHP 不支援尾端零。 |
表 6. 網路功能
| 函數 |
差異 |
| fsockopen |
不支援錯誤碼輸出引數。 不支援 errstr 引數。 加密串流 (SSL 和 TLS) 無法使用。 |
表 7. 陣列函數
| 函數 |
差異 |
| 所有陣列函數 |
排序在使用中排序演算法下具有相同加權的陣列項目時,產生的已排序陣列可能具有與 PHP.net所使用排序演算法所產生之項目不同的順序。 例如,值 "a"、"b"、"c" 的 SORT_NUMERIC 排序。 |
表 8. 多位元組字串函數
| 函數 |
差異 |
| 所有多位元組字串函數 |
如果您對字元資料指定正確的編碼,且字元資料正確,則 mb_ * 函數的運作方式與 MBString 相同。 如果字元資料無效或您未指定正確的編碼,則不保證輸出與 MBString 相同。 例如, mb_substr ,如果您傳入 str 並將它定義為 UTF-32 (實際上是 ASCII 或 UTF-8時) ,則不會得到與 PHP.net相同的結果。 |
| mb_convert_encoding |
不支援包含多個編碼的陣列或字串,或作為 from_encoding 值傳遞 auto 。 在這些情況下會產生 PHP 警告。 |
表 9. 程式執行函數
| 函數 |
差異 |
| 所有程式執行函數 |
IBM App Connect Enterprise PHP 不支援「安全」模式。 |
| proc_open |
IBM App Connect Enterprise PHP 不支援選用第六個參數所指定的其他選項。 |
| proc_terminate |
IBM App Connect Enterprise PHP 不支援將信號傳送至子程序,如選用的第二個參數所指定。 |
| proc_get_status |
IBM App Connect Enterprise PHP 不支援此功能。 |
表 10. 錯誤處理及記載函數
| 函數 |
差異 |
| ERROR_LOG |
不支援 message_type 1 (email)。 會發出警告,且函數會傳回 false。 |
表 11. 串流函數
| 函數 |
差異 |
| stream_get_meta_data |
檔案串流的未讀取位元組欄位 (已使用的緩衝區大小) 不一定相同,因為檔案串流實作不使用緩衝區。 |
| stream_context_create |
對串流環境定義的支援受到限制 ;HTTP 串流類型僅支援標頭、方法、逾時和內容選項。 |