2012-09-24 24 views
6

私のVPSのphpバージョンを更新しようとしましたが、うまくいかず、私のプロバイダがうまくやってくれなかったので、以前のバージョンにダウングレードしました。

私は現在、PHP 5.2.17(cli)を使用しています。このバージョンではすべてが正しく機能していました。

このアップグレードとダウングレードのため、変数$_SERVER['PHP_AUTH_USER']は空です。 (php.iniでは、register_globalsは 'on'で、$_SERVER['PHP_SELF']は正常に動作しています)。

私は正しく私のユーザー名とパスワードを尋ねて接続するのは成功ですが、私は$_SERVER['PHP_AUTH_USER']を使う必要があります。

試しました$_SERVER['PHP_AUTH_USER']$_SERVER['AUTH_USER']$_SERVER['REMOTE_USER']ナットなしです。 (ただし、何もエラーが発生しない、空白の値...)

答えて

12

私は最終的に 'mbinette' への回答のおかげを発見しました。

私のPHP構成では、PHP 5のハンドラはCGIであり、このタイプの認証はPHP CGIでは動作しません。そこで私はsuPHPに変更しました(これはAPACHEのデフォルトのものです)。

Find here CGIとPHP_AUTHを使用する方法を説明している投稿ですが、試してみましたが、うまく機能しませんでした。私のphp.iniファイルでは、PHPハンドラ

+0

あなたは解決策を見つけてうれしい!私は正直なところ、それが何であるかについて他の考えを持っていませんでした(私がこれまでに抱えていた唯一の問題は、セーフモードのためでした)。乾杯! – mbinette

+0

ありがとうございました! – BastienSander

+0

リンクが動作しません –

3

セーフモードは有効になっていますか?それは 従来の外部機構による認証を行ってきたページのパスワードを暴くようなスクリプト を書いてから、誰かを防ぐためにPHP 4.3.0、PHP_AUTHのよう...

あなたの問題かもしれませんその特定のページに対して外部認証が有効で、 セーフモードが有効な場合、変数は に設定されません。 REMOTE_USERを使用して、外部認証されたユーザー を識別することができます。したがって、 $ _SERVER ['REMOTE_USER']を使用できます。

出典:http://php.net/manual/en/features.http-auth.php

+0

について

Find hereいくつかの説明は、私が持っている:セーフモード=オフ – BastienSander

+0

をあなたは問題がPHPから来ていますか? (このようなものではありません:http://stackoverflow.com/questions/5037046/serverphp-auth-user-empty?)。また、error_reportingがオンで、その前にエラーがスローされていないことを確認できますか? – mbinette

+0

error_reporting = E_ALL&〜E_NOTICEとdisplay_errors = on – BastienSander

関連する問題