Palvelijan vaihduttua on ollut hieman ongelmia kotisivun kanssa. Edellisen ongelman ratkettua tuli toinen käyttäjän tunnistamisessa. Käytän HTPASSWD kirjautumisessa ja ennen sain käyttäjän nimen $kayttaja=$_SERVER["REMOTE_USER"]. Nyt uudessa paikassa tuo ei enää toimi, php v.5.1 vaihtui v.5.5, voisiko se aiheuttaa tuon ongelman?
Tarkista onko kyseinen serverimuuttuja käytettävissä.
<?php phpinfo(); ?>
Tällainen lötyi: _SERVER["USER"] - joka palauttaa tunnuksen. Tämä taas palautta nimen: _SERVER["REDIRECT_REMOTE_USER"]. Voisiko tätä käyttää? Tämäkin näyttää palauttavan nimen: _ENV["REDIRECT_REMOTE_USER"]. Tuota $_SERVER["REMOTE_USER"] ei löytynyt listalta.
USER on melko varmasti se käyttäjätunnus, jolla PHP toimii. Siis täysin väärä.
Jos REMOTE_USER puuttuu, REDIRECT_REMOTE_USER on todennäköisesti oikea, sillä tietyissä tilanteissa Apache-palvelin voi lisätä ympäristömuuttujiin näitä REDIRECT_-etuliitteitä. Kannattaa kuitenkin skriptissä tarkastaa molemmat:
# PHP 7 ja uudemmat: $user = $_SERVER["REMOTE_USER"] ?? $_SERVER["REDIRECT_REMOTE_USER"] ?? null; # PHP 5.6 ja vanhemmat: $user = @$_SERVER["REMOTE_USER"] ?: @$_SERVER["REDIRECT_REMOTE_USER"];
Aihe on jo aika vanha, joten et voi enää vastata siihen.