Saturday, 12 February 2011

На PHP FastCGI не работают PHP_AUTH_USER и PHP_AUTH_PW

К сожалению :( Есть обходник: http://www.rosmir.org/Index/LabsFolder/FastCGI

Вот еще информации, как заставить работать: http://bugs.php.net/bug.php?id=35752

6 comments:

  1. Нормально там все работает. Требуется лишь маааленький include в индексный файл движка. Сам не раз делал и все пучком.

    ReplyDelete
  2. Так ты сам же привел ссылку на решение.

    В скрипты требующие базовой авторизации нужно просто добавить код в духе:

    if(isset($_SERVER['HTTP_AUTHORIZATION'])) {
    $auth_params = explode(":" , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
    $_SERVER['PHP_AUTH_USER'] = $auth_params[0];
    unset($auth_params[0]);
    $_SERVER['PHP_AUTH_PW'] = implode('',$auth_params);
    }

    Это достаточно добавить в самом начале скрипта, что бы проводилась инициализация $_SERVER['PHP_AUTH_PW'] и $_SERVER['PHP_AUTH_USER'] тогда весь последующий код может работать как ни в чем небывало. Если в движок точка входа одна, index.php тот же, то вообще снимаются все проблемы.

    ReplyDelete
  3. помогла ссылочка...

    ReplyDelete
  4. Всегда рад помочь! :)

    ReplyDelete
  5. Кстати, если подобный скрипт добавить в auto_prepend_file директиву, то единая точка входа и не требуется. Все будет ожидаемо работать в любом скрипте.

    ReplyDelete

Note: only a member of this blog may post a comment.