формат npm запустить вывод из php shell_exe c () - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть сценарий развертывания, который запускает различные команды через php shell_exec($command). При выполнении команды запуска npm, например,

npm run dev --prefix /public/

Команда php возвращает много выходных данных. Когда эта команда запускается непосредственно в терминале, вы видите динамический вывод c с индикаторами выполнения и c ... который в итоге занимает всего несколько строк в терминале после его завершения. Похоже, это переводится в массив нечитаемых символов в php. Фрагмент вывода выглядит следующим образом:

28% building 158/172 modules 14 active ...-row.vue?vue&type=template&id=1556f6c2&
29% building 159/172 modules 13 active ...urance/row.vue?vue&type=script&lang=js&
29% building 159/173 modules 14 active ...-row.vue?vue&type=template&id=1556f6c2&
29% building 160/173 modules 13 active ...urance/row.vue?vue&type=script&lang=js&
29% building 160/174 modules 14 active ...itable-row.vue?vue&type=script&lang=js&
29% building 161/174 modules 13 active ...urance/row.vue?vue&type=script&lang=js&
29% building 161/175 modules 14 active ...itable-row.vue?vue&type=script&lang=js&
29% building 162/175 modules 13 active ...itable-row.vue?vue&type=script&lang=js&
29% building 162/176 modules 14 active ...-new.vue?vue&type=template&id=ffb8ad62&
29% building 163/176 modules 13 active ...itable-row.vue?vue&type=script&lang=js&
29% building 163/177 modules 14 active ...-new.vue?vue&type=template&id=ffb8ad62&
29% building 164/177 modules 13 active ...itable-row.vue?vue&type=script&lang=js&
29% building 164/178 modules 14 active ...al-add-new.vue?vue&type=script&lang=js&
29% building 165/178 modules 13 active ...itable-row.vue?vue&type=script&lang=js&
29% building 165/179 modules 14 active ...al-add-new.vue?vue&type=script&lang=js&
29% building 166/179 modules 13 active ...al-add-new.vue?vue&type=script&lang=js&
29% building 166/180 modules 14 active ...l/core/node_modules/moment/locale/sv.js
29% building 166/181 modules 15 active ...l/core/node_modules/moment/locale/ss.js
29% building 166/182 modules 16 active ...l/core/node_modules/moment/locale/sr.js
29% building 166/183 modules 17 active ...e/node_modules/moment/locale/sr-cyrl.js
29% building 166/184 modules 18 active ...l/core/node_modules/moment/locale/sq.js
29% building 166/185 modules 19 active ...l/core/node_modules/moment/locale/sl.js
29% building 166/186 modules 20 active ...l/core/node_modules/moment/locale/sk.js
29% building 166/187 modules 21 active ...l/core/node_modules/moment/locale/si.js
29% building 166/188 modules 22 active ...l/core/node_modules/moment/locale/se.js
29% building 166/189 modules 23 active ...l/core/node_modules/moment/locale/sd.js
29% building 166/190 modules 24 active ...l/core/node_modules/moment/locale/ru.js
29% building 166/191 modules 25 active ...l/core/node_modules/moment/locale/ro.js
29% building 166/192 modules 26 active ...l/core/node_modules/moment/locale/pt.js
29% building 166/193 modules 27 active ...ore/node_modules/moment/locale/pt-br.js
29% building 166/194 modules 28 active ...

Как вы можете видеть, вышеизложенное охватывает только 1% изменения прогресса, так что вы можете в значительной степени умножить этот вывод на 100 для истинного представления количество.

1) возможно ли обрезать большое количество квадратных символов ниже из этого вывода? enter image description here

2) возможно ли уменьшить этот выходной сигнал в процессе shell_exec() только ? Я не хочу постоянно изменять конфигурацию npm, я не хочу sh изменять выход при работе непосредственно через терминал.

...