wykonanie funkcji function_exists () bez używania innych plików zawierających funkcje zdefiniowane przez użytkownika nie będzie zbyt dobre, z wyjątkiem testowania wersji PHP, o czym możesz się dowiedzieć innymi sposobami. Jaką funkcję chcesz przetestować?
Matt Gibson
Szukam przetestowania tej funkcji: sg_load ()
Steve
2
Wygląda na to, że naprawdę chcesz się dowiedzieć, czy jest włączone rozszerzenie sourceguardian php?
Matt Gibson
2
wtedy phpinfo () powinno ci powiedzieć.
jpic
Odpowiedzi:
256
Jeśli zamierzasz robić PHP w wierszu poleceń, polecam zainstalowanie phpsh, przyzwoitej powłoki PHP . To dużo fajniejsze.
W każdym razie polecenie php oferuje dwa przełączniki do wykonywania kodu z wiersza poleceń :
-r <code>Run PHP <code> without using script tags <?..?>-R <code>Run PHP <code>for every input line
Jeśli to nie działa na twoim pudełku, tak jak na moim pudełku * es * ( testowane na Ubuntu i Arch), prawdopodobnie twoja konfiguracja PHP jest rozmyta lub zepsuta . Jeśli uruchomisz to polecenie:
php -i | grep 'API'
ty powinno zobaczyć:
Server API =>CommandLineInterface
Jeśli nie , oznacza to, że być może inna komenda zapewni CLI SAPI . Wypróbuj php-cli, może to pakiet lub polecenie dostępne w twoim systemie operacyjnym.
Jeśli zrobisz że twoje polecenie php używa CLI (interfejs wiersza poleceń) SAPI (API serwera), uruchom, php -h | grep codeaby dowiedzieć się, który szalony przełącznik - ponieważ nie zmienił się od roku - pozwala na uruchomienie kodu w twojej wersji / konfiguracji.
Kolejne kilka przykładów, aby upewnić się, że działa na moich pudełkach:
Należy również zauważyć, że możliwe jest, że rozszerzenie jest ładowane w CLI, a nie w CGI lub Apache SAPI. Jest prawdopodobne, że kilka PHP SAPI używa różnych plików php.ini , np. /etc/php/cli/php.iniVs /etc/php/cgi/php.inivs /etc/php/apache/php.inina Gentoo box. Dowiedz się, który plik ini jest używany z php -i | grep ini.
Albo jestem ślepy, albo ta odpowiedź nie ma nic wspólnego z pytaniem. Jak ta odpowiedź ma odpowiadać na pytanie „ Jak uruchomić kod PHP bezpośrednio z linii poleceń, bez zapisywania kodu PHP do .phppliku? ”?
trejder
15
@trejder Przez chwilę zastanawiałem się, czy odpowiedziałem na złe pytanie, ale potem spojrzałem na historię edycji i komentarze. Odpowiada to temu, czego OP wydawał się naprawdę potrzebować: dowiedzieć się, czy zostało załadowane określone rozszerzenie PHP. Od tego czasu pytanie zostało przeformułowane, więc teraz nie pasuje.
Odpowiedzi:
Jeśli zamierzasz robić PHP w wierszu poleceń, polecam zainstalowanie phpsh, przyzwoitej powłoki PHP . To dużo fajniejsze.
W każdym razie polecenie php oferuje dwa przełączniki do wykonywania kodu z wiersza poleceń :
Możesz użyć przełącznika -r php jako takiego:
Powyższe polecenie PHP powinno wyświetlać
no
i zwracać,0
jak widać:Kolejnym zabawnym przełącznikiem jest php -a :
To trochę kiepskie w porównaniu do phpsh , ale jeśli nie chcesz instalować niesamowitej interaktywnej powłoki dla php stworzonej przez Facebooka, aby uzyskać wypełnienie kart, historię itd. , Użyj -a jako takiego :
Jeśli to nie działa na twoim pudełku, tak jak na moim pudełku * es * ( testowane na Ubuntu i Arch), prawdopodobnie twoja konfiguracja PHP jest rozmyta lub zepsuta . Jeśli uruchomisz to polecenie:
ty powinno zobaczyć:
Jeśli nie , oznacza to, że być może inna komenda zapewni CLI SAPI . Wypróbuj php-cli, może to pakiet lub polecenie dostępne w twoim systemie operacyjnym.
Jeśli zrobisz że twoje polecenie php używa CLI (interfejs wiersza poleceń) SAPI (API serwera), uruchom,
php -h | grep code
aby dowiedzieć się, który szalony przełącznik - ponieważ nie zmienił się od roku - pozwala na uruchomienie kodu w twojej wersji / konfiguracji.Kolejne kilka przykładów, aby upewnić się, że działa na moich pudełkach:
Należy również zauważyć, że możliwe jest, że rozszerzenie jest ładowane w CLI, a nie w CGI lub Apache SAPI. Jest prawdopodobne, że kilka PHP SAPI używa różnych plików php.ini , np.
/etc/php/cli/php.ini
Vs/etc/php/cgi/php.ini
vs/etc/php/apache/php.ini
na Gentoo box. Dowiedz się, który plik ini jest używany zphp -i | grep ini
.źródło
W wierszu poleceń:
Jeśli tam jest, otrzymasz tekst. Jeśli nie, nic nie dostaniesz.
źródło
.php
pliku? ”?Możesz użyć :
Pomocny może być też krótki tag „ <? = ”:
Tag zamykający „?>” Jest opcjonalny, ale nie zapomnij o ostatnim „;” !
źródło
php -r
nie musisz martwić się o otwieranie tagów PHP.Używanie PHP z wiersza poleceń
użyj " zamiast " w oknach, gdy używasz wersji CLI z -r
- dobrze
- niepoprawne
źródło