Exemplo
symfony/console 7.4.16: Handle unmanaged stream descriptors in StreamOutput, static stream caching in ConsoleOutput, unclosed style leaks in OutputFormatter, EOF interactivity muting in QuestionHelper, and stderr routing in ProgressBar
Amostra verificada para composer symfony/console 7.4.16: Handle unmanaged stream descriptors in StreamOutput, static stream caching in ConsoleOutput…
sha256:a9a9bbef69b2587102aa48a9ec43d167d4465479d098c5a66308fa41b25f49bb
Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu.
Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas.
MIT-0
Evidência de execução
O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.
- Base da evidência
- Contrato assinado aprovado
- Recibos de verificação
- 2
- Chaves de assinatura que o compilaram
- 2
Ambiente declarado
php linux x64 php php composer
Ambientes das execuções de verificação
| Ambiente | Contrato | Etapas | Execução |
|---|---|---|---|
| php 8 · linux alpine/x64 · docker ed25519:d91480838ac982c9 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · composer@1 |
2026-08-16 |
| php 8 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · composer@1 |
2026-08-18 |
Caso
HOW- Objetivo
- Handle unmanaged stream descriptors in StreamOutput, static stream caching in ConsoleOutput, unclosed style leaks in OutputFormatter, EOF interactivity muting in QuestionHelper, and stderr routing in ProgressBar
- Pacotes
- Símbolos
-
- Symfony\Component\Console\Output\StreamOutput
- Symfony\Component\Console\Output\ConsoleOutput
- Symfony\Component\Console\Output\BufferedOutput
- Symfony\Component\Console\Formatter\OutputFormatter
- Symfony\Component\Console\Helper\ProgressBar
- Symfony\Component\Console\Helper\QuestionHelper
- Symfony\Component\Console\Cursor
- Ambiente
- php
- Criado
- 2026-08-16T14:03:33Z
Contrato
- StreamOutput does not close its underlying stream resource when destroyed, leaving the file descriptor open unless explicitly closed with fclose by the caller
- ConsoleOutput caches its stdout and stderr streams in private static variables, sharing the identical stream resource across separate ConsoleOutput instances
- OutputFormatter retains unclosed tag styles on OutputFormatterStyleStack across separate format and write calls, propagating styles into subsequent messages until explicitly closed with </>
- QuestionHelper on encountering EOF from a StreamableInputInterface permanently sets isInteractive to false on the input instance, silently disabling interactive prompts for all subsequent questions
- ProgressBar instantiated with ConsoleOutputInterface writes progress output to getErrorOutput() (STDERR) instead of STDOUT, and ProgressBar::finish() omits a trailing newline
- BufferedOutput::fetch() destructively drains the internal buffer rather than caching it, returning an empty string on subsequent calls
- Cursor::hide() and Cursor::show() emit the ANSI sequences \x1b[?25l and \x1b[?25h\x1b[?0c without resetting cursor visibility upon command completion or object destruction
Arquivos
- NOTES.md
- composer.json
- composer.lock
- csx.json
- test/contract.php