Paramètres INI

L’extension TrueAsync ajoute les directives suivantes à php.ini.

Liste des directives

Directive Valeur par défaut Portée Description
async.debug_deadlock 1 PHP_INI_ALL Active la sortie d’un rapport de diagnostic lors de la détection d’un deadlock

async.debug_deadlock

Type : bool Valeur par défaut : 1 (activé) Portée : PHP_INI_ALL — modifiable dans php.ini, .htaccess, .user.ini et via ini_set().

Lorsqu’elle est activée, cette directive produit une sortie de diagnostic détaillée quand l’ordonnanceur détecte un deadlock. Si l’ordonnanceur constate que toutes les coroutines sont bloquées et qu’il n’y a pas d’événements actifs, il affiche un rapport avant de lancer Async\DeadlockError.

Contenu du rapport

Exemple de sortie

=== 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: ...

Exemples

Désactivation via php.ini

async.debug_deadlock = 0

Désactivation via ini_set()

<?php
// Désactiver le diagnostic de deadlock à l'exécution
ini_set('async.debug_deadlock', '0');
?>

Désactivation pour les tests

; phpunit.xml ou fichier .phpt
async.debug_deadlock=0

Voir aussi