Para obter os argumentos enviados pela execução de um comando no Shell via PHP, basta utilizar o array $argv. Exemplo:
php script.php arg1 arg2 arg3
Podem ser obtidos dentro do programa script.php basicamente como $argv[1], $argv[2] e $argv[3]. O argv[0] será o nome do script php.
Mas se os dados forem enviados via pip para o PHP, será possível ler estes dados enviados da entrada padrão.
// Ler $fp como se fosse um arquivo regular $fp = file("php://stdin");
Uma outra forma que o PHP permite ler da standard input via STDIN é:
$data = stream_get_contents(STDIN);
Isto fará com que todo os dados obtidos seja salvo em $data.
Caso queira controlar o fluxo, ou processar os dados recebidos antes de salvá-lo, basta:
while(!feof(STDIN)){ $line = fgets(STDIN); }
Deste modo é possível proteger contra estouro de memória, quando os dados forem grande demais para serem armazenados na variável.
STDIN é apenas um atalho, uma forma reduzida de $fh = fopen(“php://stdin”, “r”);