Antecedentes
tengo un Apache/2.2.15 (Win32) con PHP/5.3.2 configurado, la autenticación de la manipulación.no puede recuperar las variables de entorno de Apache en PHP
<Directory /usr/www/myhost/private>
# core authentication and mod_auth_basic configuration
# for mod_authn_dbd
AuthType Basic
AuthName "My Server"
AuthBasicProvider dbd
# core authorization configuration
Require valid-user
# mod_authn_dbd SQL query to authenticate a user
AuthDBDUserPWQuery "SELECT Password,UserName,Realm,Access FROM authn WHERE user = %s"
</Directory>
¡La autenticación funciona bien! No hay problemas.
Pero con respecto a la documentation, cualquier campo adicional de regresar de la AuthDBDUserPWQuery será puesto en una variable deAUTHENTICATION_fieldname en el medio ambiente.
Con phpinfo()
, puedo ver estas variables con los valores correctos en "Apache Environment".
AUTHENTICATE_USERNAME
AUTHENTICATE_REALM
AUTHENTICATE_ACCESS
Problema
no puedo ir a buscar esas variables de entorno de mi php.
1 <?php
2 $Access = apache_getenv('AUTHENTICATE_ACCESS',true);
3 var_dump($Access);
4 ?>
La línea 3 imprime bool (falso) indicando que no se ha encontrado la variable.
Sin embargo, si cambio a otra variable de Apache Environment como 'HTTP_HOST', funciona.
..y sí, he intentado getenv()
también, el mismo resultado.
También hay una nota que el servidor Apache necesita compilarse con APR 1.3.0 para funcionar. Utilicé la compilación de Apache msi desde httpd.apache.org y parece compilarse con APR sobre la versión 2. Como puedo verlos con phpinfo()
, deben poder acceder desde PHP.
* \ [♦ nota: Ver [historial de revisiones] (http://stackoverflow.com/posts/4308886/revisions) para el contexto de este comentario.] * Usualmente no llamamos sobre el inglés de alguien (el tuyo es bonito bueno) y si el formato de tu código le hubiera chupado a alguien, probablemente lo editaría para que sea fácil de leer. Además, SO no es el lugar donde se les dice a las personas a google/rtfm - googleando/rtfm es lo que las personas que responden pueden hacer, ya que obtendrán + rep por ello mientras le dicen que lo haga, lo más probable es que produzca -rep. : p – ThiefMaster
No tengo ninguna respuesta a su pregunta, pero +1 por tener la mejor pregunta estructurada que he visto en SO. –
Pregunta perfectamente válida, no hay necesidad de estar tan a la defensiva. :) Las respuestas RTFM generalmente se reservan para muchas, * mucho * peores (no) preguntas. – deceze