2012-05-25 28 views

Odpowiedz

11

W PHP, aby sprawdzić, czy SOAP włączone lub nie korzystać z wbudowanych w funkcji class_exists():

var_dump(class_exists("SOAPClient"));

To również może być łatwy do sprawdzenia każdy z modułów klas.

+1

Dlaczego ta odpowiedź została odrzucona? Jest dużo bardziej bezpośredni i użyteczny niż rozwiązania 'phpinfo'", a może nawet bardziej bezpośredni niż 'extension_loaded'. – meustrus

+0

Ponieważ OP chce sprawdzić SOAP w czasie wykonywania, zanim jego skrypt zostanie uruchomiony. Zobacz pytanie. – Epoc

1

Można użyć skryptu phpinfo zobaczyć jest zainstalowany SOAP.

http: // [your-domain.com] /phpinfo.php

3

w pliku PHP:

<?php 
echo phpinfo(); 
?> 

a następnie spojrzeć na mydło i widać, jeśli jest zainstalowana i włączona SOAP

1

Pakiety PEAR nie są wymienione w phpinfo(), więc jeśli "mydło" nie pojawi się na stronie "test.php", jest to normalne!

+1

przykład kodu byłby miły, aby pomóc ankieterowi lepiej zrozumieć twoją odpowiedź :) – zpontikas

2

Hmm ... Jestem nowy i jestem zły: Próbowałem tego w pliku "test.php".

<?php 
    if (extension_loaded('soap')) 
    { 
     echo phpinfo(); 
    } 
    else //will redirect to sth else so you know it doesn't work 
    { 
     header("Location: http://localhost/index.html"); 
     die(); 
    } 
?> 

I widziałem siebie patrząc na stronę "phpinfo()" z paragrafem "mydło".

Przepraszamy za błędną interpretację.

Aby zainstalować SOAP:
Sprawdź "php.ini" plik, poszukaj "rozszerzeniem".
Powinieneś znaleźć wiersz:
extension=php_soap.dll lub ;extension=php_soap.dll
";" znaczy, że jest komentowany.
Odkomentuj to.
Jeśli nie znalazłeś linii, umieść ją tam.
extension=php_soap.dll
Upewnij się, że plik dll faktycznie znajduje się w domyślnym folderze php/ext. Jeśli tak nie jest, sprawdź na phpinfo() czy twoja wersja to VC6, VC9 z VC11, przejdź do strony pobierania php: http://windows.php.net/download#php-5.6 i uzyskaj korespondującą wersję pliku zip php.
Ukradnij ich "php_soap.dll" z folderu/ext i umieść go w swoim.
Wszystko gotowe!
Zrestartuj serwery, a następnie przejdź do strony testowej phpinfo(), aby sprawdzić, czy działa.

Powodzenia. Uwaga: prosty test phpinfo().plik php:

<php 
    echo phpinfo(); 
?> 
7

Od SSH można uruchomić:

php -i | grep soap 
1

w wierszu polecenia wpisz następujące polecenie:

>> php -r 'echo (extension_loaded("soap")?"LOADED\n":"not loaded\n");'