C'est moi qui ai mal lu ton extrait de code
C'est OK pour moi, mais je vois venir à nouveau un un autre problème (connu) : RayPHP ne supporte pas la récursivité. En clair, du PHP ne peut faire appel à une fonction C si cette dernière fait elle même appel à du PHP. Ce cas peut sembler rare, mais c'est ce qui se passe lorsque qu'un script PHP (comme la console ingame, par exemple) cherche à afficher un objet ou une texture alors que cette donnée n'est pas encore dispo en local, ce qui va engendrer un téléchargement par "R3S" (qui est écrit en PHP).
Si on souhaite faire bien les choses, il serait logique de placer ton code dans un fichier rayphp/httptest.php (par exemple) et d'encapsuler son appel dans une fonction de rayphp.c, à l'image des autres fonctions du genre. Dans cette situation, il devient impossible de se servir de cette fonction depuis mania_tracklist.php (PHP->C->PHP) ...
Faire à la place un appel "direct" à une fonction PHP qui encapsule le script httptest.php semble résoudre le problème, mais uniquement pour le cas qui nous intéresse.
Je me doute que mon explication n'est pas limpide, donc voilà une petite aide pour comprendre ce qui me semble être la seule solution "simple" qui me vient à l'esprit :
rayphp/httptest.php (ton code)
rayphp/direct.php (nouveau fichier chargé d'encapsuler toutes les scripts rayphp/ qui doivent pouvoir être appelées directement depuis PHP, tel httptest.php)
mania_tracklist.php (avec un require_once de rayphp/direct.php)
raydium/rayphp.c (qui encapsule lui aussi httptest.php mais à destination du C uniquement [pas de ref dans RegAPI, donc])
Je ne sais pas si je suis clair, mais je pense que nos idées se rejoignent
A terme, il faudrait plutôt être capable de trouver une astuce pour permettre des appels récursif du Zend Engine.