I found the problem, SELinux was blocking authentication. After debugging the various php scripts, I determined adldap was unable to bind to the server. This fixed it:
grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
I also needed to install the php-bcmath package.