it-swarm.com.ru

Каковы различия system (), exec () и Shell_exec () в PHP?

Можно выполнить внешнюю команду с помощью трех PHP функций

system();
exec();
Shell_exec();

но в чем их различия? Несмотря на их конкретные применения, в большинстве случаев они могут использоваться одинаково. Мне любопытно узнать, какой из них предпочтительнее, когда они могут быть использованы одинаково. Например, для распаковки файла или сжатия папки (с помощью команды tar), какой из них предпочтителен (вероятно, с точки зрения производительности)?

ОБНОВЛЕНИЕ: В другом вопросе я нашел очень полезный ссылка описание различных аспектов этих функций. Я делюсь ссылкой здесь, поскольку другие могут использовать, чтобы лучше понять проблемы безопасности и другие аспекты.

63
Googlebot

exec - выполнить внешнюю программу

система - выполнить внешнюю программу и отобразить вывод

Shell_exec - Выполнить команду через Shell и вернуть весь вывод в виде строки

так что если вам не нужен вывод, я бы пошел с exec.

Более подробная информация:

89
Gavriel