2012-09-24 14 views
6

Próbowałem zaktualizować wersję php mojego VPS, ale to nie zadziałało i mój dostawca nie pomógł mi dobrze, więc obniżam go do poprzedniej wersji.

Teraz pracuję z PHP 5.2.17 (cli). Wszystko działało poprawnie w tej wersji.

Od tego uaktualnienia i obniżenia wersji zmienna $_SERVER['PHP_AUTH_USER'] jest pusta. (W php.ini, register_globals jest włączony i $_SERVER['PHP_SELF'] działa poprawnie).

Pyta mnie właściwie moją nazwę użytkownika i hasło, i mam powodzenie w łączeniu, ale muszę użyć $_SERVER['PHP_AUTH_USER'].

Próbowałem $_SERVER['PHP_AUTH_USER'], $_SERVER['AUTH_USER'], $_SERVER['REMOTE_USER'] nakrętka żadna działa. (ale nigdy nie otrzymuję błędu, tylko pusta wartość ...)

Odpowiedz

12

I wreszcie znaleźć odpowiedź dzięki 'mbinette'.

W mojej konfiguracji PHP obsługa PHP 5 była CGI, a tego typu uwierzytelnianie nie działa z PHP CGI. Więc zmieniłem go na suPHP (który ma być domyślny na APACHE).

Find here post wyjaśniający sposób użycia CGI i PHP_AUTH, ale próbowałem i to nie działało.

Find here kilka wyjaśnień o teleskopowe php

+0

Cieszę się, że znalazłeś rozwiązanie! Szczerze mówiąc, nie miałem innego pojęcia, co to może być (jedyny problem, jaki kiedykolwiek miałem z powodu trybu awaryjnego) ...! Twoje zdrowie! – mbinette

+0

Dziękujemy za pomoc! – BastienSander

+0

Linki nie działają –

3

Czy włączony jest tryb bezpieczny? To może być problem ...

Od PHP 4.3.0, aby uniemożliwić pisanie skryptu które ujawnia hasła dla strony, która została uwierzytelniona przez tradycyjnego mechanizmu zewnętrznego, az PHP_AUTH zmienne nie zostaną ustawione , jeśli włączona jest autoryzacja zewnętrzna dla tej konkretnej strony i włączony jest tryb bezpieczny . Bez względu na to, REMOTE_USER może być użyty do identyfikacji użytkownika uwierzytelnionego zewnętrznie. Możesz więc użyć $ _SERVER ['REMOTE_USER'].

Źródło: http://php.net/manual/en/features.http-auth.php

+0

W moim pliku php.ini, mam: safe_mode = Off – BastienSander

+0

Czy jesteś pewien, że problem wynika z PHP? (a nie coś takiego: http://stackoverflow.com/questions/5037046/serverphp-auth-user-empty?). Ponadto, czy możesz upewnić się, że error_reporting jest włączony i że nie ma błędów zgłaszanych wcześniej? – mbinette

+0

error_reporting = E_ALL & ~ E_NOTICE i display_errors = na – BastienSander