IBM App Connect Enterprise PHP 和 PHP.net 之間的差異

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 串流類型僅支援標頭、方法、逾時和內容選項。