Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Kompatybilność skryptów PHP4/PHP5
Forum PHP.pl > Forum > PHP
styx
Pozdrawiam.

Mam taki problem, a mianowicie napisałem kiedyś pare skryptów w PHP4, chciałbym je teraz odpalić pod PHP5, ale niestety wyskakują same błędy. Zainstalowałem sobie starego PHP 5.1.0.R.C. i tam się odpaliły bez problemu, natomiast w 5.1.2 już się nie chcą dla przykładu wziołem Nusoap odpaliłem a tam

Fatal error: Cannot redeclare class soapclient in /home/lordstyx/public_html/soap/lib/nusoap.php on line 7240

sprawdziłem skrypt a w tej linijce tylko zamykający nawias klamrowy. W PHP 5.1.0R.C działa doskonale.

Porównają dwa pliki php.ini z obydwu wersji ale nic nie znalazłem ciekawego.

Od czego to zależy? Jak to skonfigurować?
mike
Klasa SoapClient w PHP jest klasą predefiniowaną i nie możesz zmienic jej definicji.
Najwidoczniej pojawiła się w PHP 5.1.2 (choć dałbym sobie rękę uciąć że była od 5.0.0).

Nie odpalisz tego na nowszych wersjach, bo bedziesz miał konflikt z nazwami klas (no chyba że zamienisz nazwy klas).
Najrozsądniejszym wyjściem jest wywalenie nuSOAP bo to staroć. PHP od dawna wspiera natywnie SOAP'a.
styx
Rzeczywiście po zmianie nazwy klasy soapserver na jakąś inną wszystko ruszyło, no i też nie miałem wkompilowanego soap-a w 5.1.0r.c. dlatego tam działało. Ale w takim raziem mam pytanie czy nusoap nie jest prostszy w uzyciu niz ten soap z php-a tam ta cala zabawa z xml-ami...
mike
Natywna obsługa SOAP jest na pewno szybsza niż zewnętrzna biblioteka.
Poza tym nuSOAP jest biblioteką starą i może być różnie ze wsparciem, jeśli chodzi o natywne klasy wsparcie i komatybilność masz zapewnioną bo są częścią języka.

A co do XML'a w SOAPie to nie jest to trudne jak już się nauczysz smile.gif
I zawsze będziesz umiał coś więcej.

Ja polecam prawie zawsze to co nowsze smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.