$ _SERVER ['PHP_AUTH_USER'] пусто - PullRequest
2 голосов
/ 18 февраля 2011

РЕДАКТИРОВАТЬ: проблема не с PHP, я неправильно использовал cURL.Обновленный вопрос, чтобы показать, что у меня проблема с XHR.

Резюме: Невозможно получить имя пользователя в PHP с помощью XHR:

var xhr = Ti.Network.createHTTPClient();
xhr.timeout = 1000000;
xhr.open("GET","http://myapi.com/test", false, 'user', 'pass');
xhr.send();

И в моем сценарии PHP я пытаюсьполучить доступ к имени пользователя с помощью:

<?php print $_SERVER['PHP_AUTH_USER']; ?>

Независимо от того, что я пытаюсь, оно всегда пустое.

Есть ли какие-либо настройки PHP, которые мне нужно настроить?

Дополнительная информация:Версия PHP 5.2.13, Apache, MAMP

1 Ответ

2 голосов
/ 18 февраля 2011
<script src="http://www.webtoolkit.info/djs/webtoolkit.base64.js"></script>
<script>
var xhr = Ti.Network.createHTTPClient();
xhr.timeout = 1000000;
xhr.onreadystatechange = function() {
    if (xhr.readyState != 4) return;
    alert('Server said: '+xhr.responseText);
};
xhr.open('GET', 'http://myapi.com/test', false);
xhr.setRequestHeader('Authorization', 'Basic ' + Base64.encode('user:pass') );
xhr.send('');
</script>

(Ради вежливости вы должны загрузить webtoolkit.base64.js и обслуживать его со своего собственного сервера.)

Имейте в виду, что вы не можете выполнять междоменные запросы с XHR; Ваши JavaScript и PHP должны обслуживаться из одного домена.

...