Из PHP этого делать не нужно, вы все равно не получите потока данных, только поток отчетов.
Напишите "npm init", и в файле package.json сделайте секцию "scripts", потом запускайте из консоли перед установкой проекта на новую машину "npm run my_script_that_runs_gulp".
То есть проект оборачивают в контейнеры, чтобы это автоматизировать, а не заставляют язык программирования делать всё, тем более чтобы это запустить все равно придется открыть консоль и вызвать команду с php, или пройти по ссылке, чтобы веб сервер сделал это для вас.
Способ есть, для этого надо искать в доке как выдать на выход поток самих данных из функций галпа, который все равно сделан на node, перенаправить их в stdout, и мы можем подписаться на поток данных зачем-то и что-то с ними делать, но обычно это не нужно, т.к. галп это и есть обертка для потоков на node js.