Simple header file with defintions:


void sunpos(double d, double *L, double *M, double *ra, double *decl, double *rad);

In PHP, load definitions and call:


<?php
$ffi 
FFI::load(__DIR__ '/astro.h');

$dayNr = (time() - 946598400) / 86400.0;

$L    FFI::new('double');
$M    FFI::new('double');
$ra   FFI::new('double');
$decl FFI::new('double');
$rad  FFI::new('double');

$ffi->sunpos(
    
$dayNr,
    
FFI::addr($L), FFI::addr($M), FFI::addr($ra), FFI::addr($decl), FFI::addr($rad)
);