Подтвердить что ты не робот

Чем отличаются функции exec(), shell_exec, system() и passthru() в PHP?

Кто-нибудь скажет мне. Я хочу знать разницу между функциями exec(), shell_exec, system() и passthru()?

Я ищу из php.net, который не может получить ответы, которые мне нужны.

4b9b3361

Ответ 1

  • exec возвращает только последнюю строку сгенерированного вывода.
  • shell_exec возвращает полный вывод команды, когда команда завершена.
  • system немедленно отображает весь вывод и используется для отображения текста.
  • passthru также возвращает вывод немедленно, но используется для двоичных данных. passthru отображает необработанные данные.

С помощью exec и shell_exec можно обрабатывать вывод самостоятельно, а system и passthru не позволят вам настроить его и сразу отобразить вывод.

Более подробное сравнение можно найти здесь.

Ответ 2

passthru используется для возврата двоичных данных вместо ascii. Типичным примером является то, что программа обработки изображений возвращает изображение вместо текстовых данных.

Смотрите PHP - exec() vs system() vs passthru() для получения дополнительной информации

Также см. php shell_exec() vs exec().