Я хотел бы выполнить команду оболочки и получить вывод в массиве так, чтобы: (1) каждая строка вывода была элементом в массиве (2) строки «помечены» как из stdout илиstderr
Что-то вроде:
╔═════════╦══════════════════╗
║ Line No ║ Stdout or stderr ║
╠═════════╬══════════════════╣
║ Line1 ║ Stdout ║
╠═════════╬══════════════════╣
║ Line2 ║ Stdout ║
╠═════════╬══════════════════╣
║ Line3 ║ Stderr ║
╠═════════╬══════════════════╣
║ Line4 ║ Stdout ║
╚═════════╩══════════════════╝
Это таблица, но я действительно имел в виду многомерный массив, где $ thisarray [0], $ thisarray [1] - строки.Я предполагаю, что выполненная команда оболочки всегда будет генерировать новую строку, прежде чем она переключится либо на stderr, либо на stdout.
Таким образом, я смогу увидеть, какая строка принадлежит какому дескриптору файла, и иметь возможностьчтобы увидеть это в контексте.
Есть ли способ сделать это в PHP, с помощью команд оболочки exec или иным образом?
Если это невозможно с PHP, я не против других технологий.