Eu não concordo com a decisão de depreciar o php-auth-pam, embora eu possa entender por que eles fizeram isso. Há uma série de desafios para integrar php e pam, incluindo que php é frequentemente ligado ao seu servidor que pode ou não ser multithreaded (e lidar com vários threads com pam pode ser problemático), php tende a ter uma taxa de acerto muito alta (onde pam assume uma baixa taxa de acerto) e as soluções php pam não se adaptam bem (embora possam ser úteis em algumas aplicações.
Com essa mudança, existem basicamente três classes de soluções para sua dificuldade. Pelo menos recomendado eles são:
- escreva o seu próprio.
- use um processo auxiliar.
- ignorar pam.
Escrever o seu próprio tem todos os desafios que eu já mencionei, sem a experiência adquirida até agora. O processo auxiliar separa pam e php em processos separados, o que reduz muitos dos desafios para níveis gerenciáveis, mas adiciona IPC. A solução mais comum é ter o php e o sistema operacional autenticados no mesmo banco de dados, como o ldap ou um banco de dados sql, como o mysql ou o postgres. Módulos estão prontamente disponíveis para fazer isso.
A única outra solução é não autenticar em php mas no servidor (pam auth modules estão disponíveis para apache) ou outro método (cgi, e mod_perl pode fazer autenticação pam mas passar a sessão para frente e para trás é interessante dizer o mínimo.)
No seu caso, eu recomendaria um processo auxiliar. (o apache tem uma maneira fácil de fazer isso sem envolver o php.)