2012-09-24 14 views
6

VPS'nin php sürümünü güncellemeyi denedim, ancak çalışmadı ve sağlayıcım bana yardımcı olmadı, bu yüzden önceki sürüme geçtim.

Artık PHP 5.2.17 (cli) ile çalışıyorum. Bu sürümde her şey düzgün çalışıyordu.

Bu yükseltme ve sürüme geçişten sonra, $_SERVER['PHP_AUTH_USER'] değişkeni boş. (Php.ini içinde, register_globals 'on' ve $_SERVER['PHP_SELF'] düzgün çalışıyor).

Kullanıcı adımı ve parolamı düzgün bir şekilde soruyor ve bağlantı kurabilirim ama $_SERVER['PHP_AUTH_USER'] kullanmam gerekiyor.

, $_SERVER['AUTH_USER'], $_SERVER['REMOTE_USER'] numaralı bağlantıda hiçbiri çalışmıyor. (ama hiçbir zaman hata alamıyorum, sadece boş bir değer ...)

cevap

12

Sonunda 'mbinette' cevabı sayesinde buldum.

PHP yapılandırmamda, PHP 5 işleyicisi CGI idi ve bu kimlik doğrulama türü PHP CGI ile çalışmaz. Bu yüzden suPHP'ye değiştirdim (APACHE'de varsayılan olan). CGI ve PHP_AUTH kullanmanın bir yolunu açıklayan bir yazı olan

php işleyicileri hakkında

Find here bazı açıklamalar benim php.ini dosyasında

+0

Çözümü bulduğuna sevindim! Gerçekten ne olabileceğine dair başka bir fikrim yoktu (güvenli moddan ötürü yaşadığım tek sorun) ..! Şerefe! – mbinette

+0

Yardımlarınız için teşekkür ederiz! – BastienSander

+0

Bağlantılar çalışmıyor –

3

Güvenli mod etkin mi? Bu bir geleneksel harici kimlik doğrulama bir sayfa, PHP_AUTH şifresini gösteren bir betik yazılmasını engellemek amacıyla ... PHP 4.3.0 itibariyle

, sizin sorun olabilir Söz konusu sayfa için harici kimlik doğrulaması etkinleştirildiyse ve güvenli mod etkinleştirildiğinde değişkenler ayarlanmayacaktır. Ne olursa olsun, REMOTE_USER, harici olarak doğrulanmış kullanıcı için tanımlamak için kullanılabilir. Yani $ _SERVER ['REMOTE_USER'] öğesini kullanabilirsiniz.

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

+0

i vardır: safe_mode = Off – BastienSander

+0

size sorun PHP geliyor emin misin? (ve bunun gibi bir şey değil: http://stackoverflow.com/questions/5037046/serverphp-auth-user-empty?). Ayrıca, error_reporting'in açık olduğundan ve bundan önce atılmış bir hata bulunmadığından emin olabilir misiniz? – mbinette

+0

error_reporting = E_ALL & ~ E_NOTICE ve display_errors = – BastienSander

İlgili konular