Configuración INI

La extensión TrueAsync añade las siguientes directivas a php.ini.

Lista de directivas

Directiva Valor predeterminado Ámbito Descripción
async.debug_deadlock 1 PHP_INI_ALL Habilita la salida de un informe de diagnóstico al detectar un deadlock

async.debug_deadlock

Tipo: bool Valor predeterminado: 1 (habilitado) Ámbito: PHP_INI_ALL — se puede cambiar en php.ini, .htaccess, .user.ini y mediante ini_set().

Cuando está habilitada, esta directiva activa una salida de diagnóstico detallada cuando el planificador detecta un deadlock. Si el planificador detecta que todas las corrutinas están bloqueadas y no hay eventos activos, imprime un informe antes de lanzar Async\DeadlockError.

Contenido del informe

Ejemplo de salida

=== DEADLOCK REPORT START ===
Coroutines waiting: 2, active_events: 0

Coroutine 1
  spawn: /app/server.php:15
  suspend: /app/server.php:22
  waiting for:
    - Channel recv (capacity: 0, senders: 0, receivers: 1)

Coroutine 2
  spawn: /app/server.php:28
  suspend: /app/server.php:35
  waiting for:
    - Channel recv (capacity: 0, senders: 0, receivers: 1)

=== DEADLOCK REPORT END ===

Fatal error: Uncaught Async\DeadlockError: ...

Ejemplos

Deshabilitar mediante php.ini

async.debug_deadlock = 0

Deshabilitar mediante ini_set()

<?php
// Deshabilitar diagnóstico de deadlock en tiempo de ejecución
ini_set('async.debug_deadlock', '0');
?>

Deshabilitar para pruebas

; phpunit.xml o archivo .phpt
async.debug_deadlock=0

Véase también