Różnice między IBM Integration Bus PHP a PHP.net

Istnieją pewne różnice między PHP.net a implementacją PHP, które są udostępniane przez produkt IBM Integration Bus.

Różnice dla poszczególnych funkcji są przedstawione w poniższych tabelach.

Tabela 1. Funkcje produktu MySQL
Funkcja Różnice
Pole mysql_fetch_field Sprawdza rozróżnienie między typami, które są zwracane z TINYTEXT i VARCHAR. Jeden jest blob, drugi to łańcuch. Ta implementacja zwraca obie wartości jako VARCHAR, dlatego nie jest możliwe rozróżnienie między nimi. Wywołanie zwraca maksymalną długość zdefiniowaną w bazie danych, a nie maksymalną długość, która jest używana. Na przykład:(VARCHAR[50] xyz = abc)Zawiera 3 w PHP.net i 50 w IBM Integration Bus PHP.
Tabela 2. Funkcje klasy String
Funkcja Różnice
krypta Niedostępne w systemie Windows.
Parametr html_entity_decode Powoduje wyświetlenie ostrzeżenia, jeśli określona wskazówka zestawu znaków nie jest równa UTF8.
obiekty htmlentities Powoduje wyświetlenie ostrzeżenia, jeśli określona wskazówka zestawu znaków nie jest równa UTF8.
htmlspecialchars Powoduje wyświetlenie ostrzeżenia, jeśli określona wskazówka zestawu znaków nie jest równa UTF8.
Tabela 3. Funkcje obsługi sesji
Funkcja Różnice
Funkcje obsługi sesji Obsługa opcji INI sesja.use_trans_sid nie jest obsługiwana.
Tabela 4. Funkcje systemu plików
Funkcja Różnice
Wszystkie funkcje systemu plików Tryb bezpieczny nie jest obsługiwany.
clearstatcache Nie istnieje żadna pamięć statcache, dlatego funkcja ta nie ma żadnego efektu.
stado Nie można użyć stada (, LOCK_EX) w celu uzyskania blokady na wyłączność dla pliku, który jest otwierany jako tylko do odczytu, chyba że masz również uprawnienia do zapisu do pliku; nie oznacza to, że musisz otworzyć plik w trybie zapisu, tylko to, że masz do tego uprawnienia. Jeśli użytkownik nie ma uprawnień do zapisu i zwracana jest wartość False, co oznacza, że nie uzyskano żadnej blokady, zostanie wygenerowane ostrzeżenie.
fopen Środowisko wykonawcze PHP.net wysyła komunikat "No such file or directory", gdy w fopen używany jest nieprawidłowy tryb, podczas gdy program IBM Integration Bus PHP wysyła komunikat mówiący o tym, że jest to tryb nieprawidłowy.
fseek Gdy używane są tryby fopen i file z opcją "t" w systemie Windows (tłumaczenie Windows), fseek nie działa w ten sam sposób, co środowisko wykonawcze PHP.net.
realpath Funkcja realpath () nie wykrywa zmian nazw plików, które były wcześniej dowiązaniami symbolicznymi z powodu pamięci podręcznej nazw plików kanonicznych w środowisku Java™. Aby zreplikować zachowanie w PHP, można uruchomić maszynę JVM zDsun.io.useCanonCaches=false
Tabela 5. BCMath Arbitralna Precyzja funkcje matematyki
Funkcja Różnice
Wszystkie funkcje BCMath arbitralnej precyzji matematyki IBM Integration Bus PHP podnosi wartość E_WARNING, podczas gdy PHP.net zapisuje ostrzeżenie do STDERR.
bcmul IBM Integration Bus PHP nie obcinać zer końcowych.
bcpow IBM Integration Bus PHP nie obcinać zer końcowych.
bcpowmod Program IBM Integration Bus PHP nie obsługuje zer końcowych, gdy używana jest skala inna niż 0.
Tabela 6. Funkcje sieciowe
Funkcja Różnice
fsockopen Argument wyjściowy errno nie jest obsługiwany. Argument errstr nie jest obsługiwany. Zaszyfrowane strumienie (SSL i TLS) nie są dostępne.
Tabela 7. Funkcje klasy Array
Funkcja Różnice
Wszystkie funkcje macierzowe Podczas sortowania pozycji tablicy, które mają równą wagę w użyciu algorytmu sortowania, wynikowa tablica może zawierać pozycje w innej kolejności niż algorytmy sortowania używane przez PHP.net. Na przykład: sortowanie SORT_NUMERIC wartości "a", "b", "c".
Tabela 8. Funkcje łańcuchowe wielobajtowe
Funkcja Różnice
Wszystkie funkcje łańcuchowe wielobajtowe Jeśli zostanie podane poprawne kodowanie dla danych znakowych i jeśli dane znakowe są poprawne, funkcje mb_ * działają w ten sam sposób, co MBString. Brak gwarancji, że dane wyjściowe są takie same jak w przypadku wartości MBString, jeśli dane znakowe nie są poprawne lub jeśli nie określono poprawnego kodowania. Na przykład w przypadku komendy mb_substr, jeśli użytkownik przejdzie do systemu i zdefiniuje go jako UTF-32 , gdy jest on rzeczywiście ASCII lub UTF-8, nie zostanie on taki sam, jak PHP.net.
mb_convert_encoding, Nie obsługuje tablicy lub łańcucha zawierającego wiele kodowań, a automatycznie jest przekazywany jako wartość atrybutu from_encoding. W tych przypadkach generowane jest ostrzeżenie PHP.
Tabela 9. Funkcje wykonywania programu
Funkcja Różnice
Wszystkie funkcje wykonywania programu IBM Integration Bus PHP nie obsługuje trybu Safe.
proc_open IBM Integration Bus PHP nie obsługuje dodatkowych opcji, które są określone przez opcjonalny szósty parametr.
proc_terminate IBM Integration Bus PHP nie obsługuje wysyłania sygnałów do procesu potomnego, jak określono w opcjonalnym drugim parametrze.
proc_get_status Ta funkcja nie jest obsługiwana przez program IBM Integration Bus PHP.
Tabela 10. Obsługa błędów i funkcje rejestrowania
Funkcja Różnice
Dziennik błędów Nie obsługuje atrybutu message_type o wartości 1 (email). Ostrzeżenie jest wysyłane, a funkcja zwraca fałsz.
Tabela 11. Funkcje strumienia
Funkcja Różnice
stream_get_meta_data, Pole nieprzeczytanych bajtów (używane wielkości buforu) w zamian nie zawsze jest takie samo dla strumieni plików, ponieważ implementacja strumienia plików nie używa buforów.
stream_context_create Obsługa kontekstów strumieni jest ograniczona. Typ strumienia HTTP obsługuje tylko opcje nagłówka, metody, limitu czasu i treści.