Jakie są różnice między funkcjami system(), exec () i shell_exec () w PHP?

Możliwe jest uruchomienie zewnętrznego polecenia za pomocą trzech funkcji PHP:

system();
exec();
shell_exec();

ale jakie są ich różnice? Pomimo ich specyficznych zastosowań, w większości przypadków można je jednakowo stosować. Jestem ciekawy, która z tych funkcji nich jest preferowana? Na przykład, do rozpakowania pliku lub kompresji folderu (za pomocą polecenia tar), który jest preferowany (prawdopodobnie z punktu widzenia wydajności)?

1 odpowiedź

exec - Wykonuje program zewnętrzny

system - Uruchamia program zewnętrzny i wyświetla dane wyjściowe

shell_exec - Wykonuje polecenie przez powłokę i zwraca pełne dane wyjściowe jako ciąg

więc jeśli nie potrzebujesz danych wyjściowych, wybrałbym exec.

Sprawdź sobie więcej informacji na ten temat:

http://php.net/manual/en/function.exec.php

http://php.net/manual/en/function.system.php

http://php.net/shell_exec

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.