У меня есть сценарий развертывания, который запускает различные команды через 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](https://i.stack.imgur.com/xhXsE.png)
2) возможно ли уменьшить этот выходной сигнал в процессе shell_exec()
только ? Я не хочу постоянно изменять конфигурацию npm, я не хочу sh изменять выход при работе непосредственно через терминал.