2012-09-24 16 views
6

Traté de actualizar la versión php de mi VPS pero no funcionó y mi proveedor no me ayudó, así que lo bajé a la versión anterior.

Ahora estoy trabajando con PHP 5.2.17 (cli). Todo estaba funcionando correctamente en esta versión.

Desde esta actualización y degradación, la variable $_SERVER['PHP_AUTH_USER'] está vacía. (En php.ini, register_globals está 'on' y $_SERVER['PHP_SELF'] funciona correctamente).

Me pregunta correctamente mi nombre de usuario y contraseña y me éxito para conectar pero necesito usar $_SERVER['PHP_AUTH_USER'].

me trataron $_SERVER['PHP_AUTH_USER'], $_SERVER['AUTH_USER'], $_SERVER['REMOTE_USER'] tuerca ninguno está trabajando. (pero nunca recibo ningún error, solo un valor en blanco ...)

Respuesta

12

que finalmente encontró la respuesta gracias a 'mbinette'.

En mi configuración de PHP, el controlador de PHP 5 era CGI, y este tipo de autenticación no funciona con PHP CGI. Así que lo cambié a suPHP (que se supone que es el predeterminado en APACHE).

Find here una publicación explicando una forma de usar CGI y PHP_AUTH, pero lo intenté y no funcionaba.

Find here algunas explicaciones acerca de los manipuladores de php

+0

¡Contento de haber encontrado la solución! Honestamente, no tenía otra idea de lo que podría ser (¡el único problema que tuve sobre eso fue por el modo seguro) ..! ¡Aclamaciones! – mbinette

+0

¡Gracias por la ayuda! – BastienSander

+0

Los enlaces no funcionan –

3

¿Está activado el modo seguro? Eso podría ser su problema ...

A partir de PHP 4.3.0, con el fin de prevenir que alguien escriba un guión que revela la contraseña de una página que ha sido autentificada a través de un mecanismo externo tradicional , la PHP_AUTH las variables no se establecerán si la autenticación externa está habilitada para esa página en particular y el modo seguro está habilitado. Independientemente, REMOTE_USER se puede utilizar para identificar el usuario autenticado externamente. Por lo tanto, puede usar $ _SERVER ['REMOTE_USER'].

Fuente: http://php.net/manual/en/features.http-auth.php

+0

En mi archivo php.ini, que tengo: safe_mode = Off – BastienSander

+0

¿Seguro el problema viene de PHP? (y no algo como esto: http://stackoverflow.com/questions/5037046/serverphp-auth-user-empty?). Además, ¿puede asegurarse de que error_reporting esté activado y de que no se hayan producido errores antes de eso? – mbinette

+0

error_reporting = E_ALL & ~ E_NOTICE y display_errors = on – BastienSander