$_SERVER['PHP_AUTH_DIGEST'] пусто при включенном mod_auth_digest

Результат sudo apachectl -t -D DUMP_MODULES

Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 headers_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
Syntax OK

Похоже, что модуль digest auth работает на моем сервере, но когда я пытаюсь получить доступ к $_SERVER['PHP_AUTH_DIGEST'], переменная не существует.

Мой виртуальный хост настроен следующим образом:

<VirtualHost *:80>
        ServerName sam
        DocumentRoot /var/www/sam/public/
        ErrorLog /var/log/apache2/sam-error.log

        SetEnv APPLICATION_ENV "development"

        <Directory /var/www/sam/public>
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
                #AuthType Digest
                #AuthName "api"
        </Directory>
</VirtualHost>
1
задан 19 June 2011 в 08:42

1 ответ

В Вашей конфигурации Apache Вы не включили Дайджест-аутентификацию. Попытайтесь не комментировать соответствующие строки и перезапустите Apache через sudo /etc/init.d/apache2 restart:

<VirtualHost *:80>
        ServerName sam
        DocumentRoot /var/www/sam/public/
        ErrorLog /var/log/apache2/sam-error.log

        SetEnv APPLICATION_ENV "development"

        <Directory /var/www/sam/public>
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
                AuthType Digest
                AuthName "api"
        </Directory>
</VirtualHost>

Если это не работало или дает ошибку сервера, регистрируйте журнал ошибок /var/log/apache2/access.log.

При реализации Дайджест-аутентификации можно хотеть проверить пример дайджест-аутентификации на php.net. Описание всех $_SERVER переменные могут быть найдены здесь.

2
ответ дан 7 December 2019 в 14:50

Другие вопросы по тегам:

Похожие вопросы: