Optional PHP 8.6 runtime APIs: stream error reasons in CacheFileWriter, Io\Poll for the warmup worker pool
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start with CacheFileWriter::write(), where mkdir, file_put_contents and rename are silenced with @, and with Warmup\WorkerPool, where @stream_select(..., 1) is called. Each change must sit behind a function_exists() or class_exists() guard so PHP 8.4 behaviour stays the same. Done means the 8.6 branch adds the error reason to the exception message, or the Io\Poll path exists. The second item may be closed if profiling shows the select loop doesn't matter, so confirm with a maintainer first.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Low-priority improvements built on new 8.6 runtime APIs. Each needs a function_exists() / class_exists() check while the minimum version is 8.4.
- Stream errors in
CacheFileWriter(Stream Error Handling Improvements).CacheFileWriter::write()hides the errors ofmkdir,file_put_contentsandrenamewith@, so the exception doesn't say why a cache write failed (disk full, permissions, cross-device rename).- On 8.6,
stream_last_errors()/stream_clear_errors()can add the cause to the existing exception message without changing the@behaviour.
Io\PollinWarmup\WorkerPool(Polling API).WorkerPoolwaits on worker sockets with@stream_select(..., 1), a one-second timeout.- The new poll API could replace it on 8.6, with the right backend chosen per OS.
- This only helps if the select loop shows up in warmup profiles; otherwise close this item.
Part of #789.
- Lenguaje dominante
- PHP
- Estrellas
- 1.7k
- Forks
- 166
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 43
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de goaop/framework
-
Bug
Dificultad 4/5 1-2 días Aptitud para principiantes 56/100
Los mantenedores suelen responder en 1 día
-
Bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Enhancement Performance
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
Enhancement Performance To Be Discussed
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
goaop/framework#814 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Enhancement PHP-8.6 To Be Discussed
Dificultad 4/5 Más de una semana Aptitud para principiantes 8/100
Los mantenedores suelen responder en 1 día
Todos los issues de goaop/framework
Issues similares
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
feature-request-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Codeinwp/wp-menu-icons#360 ·
-
[Type] Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Automattic/blocks-engine#4874 ·
Los mantenedores suelen responder en 1 día
-
Visual COBOL: missing 11.0 and 12.0, and 9.0 date differs from Rocket Software's lifecycle pageAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
endoflife-date/endoflife.date#11561 ·
Los mantenedores suelen responder en 1 día