La solución en PHP, por si alguien la necesita. Ví en la función 
chr() que lo intentaban.. yo sin embargo uso la función 
base_convert(), como lo hice con toString() en JS:  
 Código PHP:
    function base_convert2($n,$b) {        //asumo que desde la base que queremos transformar es desde decimal
    if( 0<=$n && $n<$b ) {        //caso directo, no hay que hacer nada, devuelve bien
        $res=base_convert($n,10,$b);
    }
    else {                          //caso general
        //el ultimo se mantiene como se transformaria
        $ultimo=base_convert($n,10,$b);
        $ultimo=substr($ultimo, -1, 1);        //ultimo caracter
        //los primeros (sean cuantos sean) se resuelven recursivamente, hasta llegar a un caso directo
        $aConvertir=(int)($n/$b)-1;
        $primeros=base_convert2($aConvertir,$b);
        $res=$primeros.$ultimo;    //siendo primeros y ultimo strings
    }
    return $res;
}
 
$YOdevuelvo=split(" " , "a b c d e f g h i j k l m n o p q r s t u v w x y z");
$ELdevuelve="0123456789abcdefghijklmnop";
 
function num2alpha($n, $b=26 ) {
    global $YOdevuelvo, $ELdevuelve;
    $bc=base_convert2($n, strlen($ELdevuelve) );
    for($a=0, $dev="";$a<strlen($bc);$a++) {
        // la posicion de cada caracter en ELdevuelve es la letra en $YOdevuelvo
        $pos=strpos($ELdevuelve, $bc[$a]);
        $dev.=$YOdevuelvo[$pos];
    }
    return $dev;
}
 
function alpha2num($alpha, $b=26 ) {
    global $YOdevuelvo;
    $YOdevuelvoSTR=implode("",$YOdevuelvo);
    for($a=0,$dev=0; $a<strlen($alpha);$a++) {    
        // orden: unidades=0; decenas=1; centenas=2 ...
        $orden=strlen($alpha)-$a-1;
        $pos=strpos($YOdevuelvoSTR, $alpha[$a] );    //posicion de la letra con respecto a $YOdevuelvo
        if($orden==0)
            $dev+=$pos;        //haría pow($base,$orden), pero daría 1 en vez de 0
        else 
            $dev+=pow($b,$orden)*($pos+1);    
    }
    return $dev;
} 
    
   Código PHP:
    echo alpha2num("hola")."<br/>";    //151060
echo num2alpha(151060)."<br/>";  //hola 
    
  Tiene un par de problemas cuando tiene que trabajar con cifras grandes, no se puede traducir a numero "permutaciones" porque daría una combinación demasiado alta para un entero supongo (3.4319006077858E+017) y perdemos la precisión. 
Pero creo que hasta que la cadena a devolver fuera de 8 caracteres 
num2alpha() funciona, más no. Con 
alpha2num() no he encontrado restricciones.  
Saludos foreros. 
 
 