Я пытаюсь установить ScnSocialAuth_ZendSessionManager в мое приложение zend 2. Я получаю следующее сообщение об ошибке, когда я пытаюсь перейти на страницу входа или регистрации:
An alias "ScnSocialAuth_ZendSessionManager" was requested but no service could be found.
Я выполнил следующие инструкции :
и загрузил его.
затем устанавливаю
./vendor/socalnick/scn-social-auth/config/scn-social-auth.global.php.dist
/vendor/socalnick/scn-social-auth/config/scn-social-auth.local.php.dist
в мою конфигурацию.
Затем в scn-social-auth.global.php я сделал следующее:
$settings = array(
'zend_db_adapter' => 'Zend\Db\Adapter\Adapter',
'zend_session_manager' => 'Zend\Session\SessionManager'
}
);
return array(
'scn-social-auth' => $settings,
'service_manager' => array(
'aliases' => array(
'ScnSocialAuth_ZendDbAdapter' => (isset($settings['zend_db_adapter'])) ? $settings['zend_db_adapter']: 'Zend\Db\Adapter\Adapter',
'ScnSocialAuth_ZendSessionManager' => (isset($settings['zend_session_manager'])) ? $settings['zend_session_manager']: 'Zend\Session\SessionManager',
),
),
);
Я также создал. /config/autoload/session.local.php:
<?php
return array(
'service_manager' => array(
'invokables' => array(
'Zend\Session\SessionManager' => 'Zend\Session\SessionManager',
),
),
);
поэтому, я не понимаю, почему я все еще получаю сообщение об ошибке;
действительно будет предлагать какие-либо рекомендации по этому поводу.
ОБНОВИТЬ
Я также добавил модуль к композитору:
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.*",
"socalnick/scn-social-auth": "1.*"
}
UPATE Wilt спросил, какие значения возвращаются, когда я var_dump значения конфигурации. возвращаемые значения:
array (size=3)
'ScnSocialAuth_ZendDbAdapter' => string 'Zend\Db\Adapter\Adapter' (length=23)
'ScnSocialAuth_ZendSessionManager' => string 'Zend\Session\SessionManager' (length=27)
'zfcuser_zend_db_adapter' => string 'Zend\Db\Adapter\Adapter' (length=23)
вы заметите, что ScnSocialAuth_ZendSessionManager сглаживает менеджер zend sesssion.
поэтому, я не понимаю, почему он говорит, что услугу не найти.
действительно будет предлагать некоторые советы по этому поводу.
Вам понадобится scn-social-auth.global.php
и scn-social-auth.local.php
в папку конфигурации приложения и установите все необходимые параметры конфигурации.
В этом файле вы найдете ключ 'ScnSocialAuth_ZendSessionManager'
. Вероятно, ваша проблема связана с некоторой проблемой конфигурации, связанной с этими конфигурационными файлами.
Поскольку вы сказали, что загрузили их, я бы сказал, что что-то не так с вашей установкой автозагрузки.
Имеет ли ваше приложение ZF2 правильную конфигурацию системы:
'module_listener_options' => array(
'module_paths' => array(
'./module',
'./vendor',
),
'config_glob_paths' => array(
'config/autoload/{{,*.}global,{,*.}local}.php',
)
)
Проверьте один раз, если ваш объединенный массив $config
содержит все ваши ключи?
$config = $serviceManager->get('Config');
'Zend\Session\SessionManager'
? Класс SessionManager не является вызываемым классом. Вы должны настроить его с помощью фабрики . Я думаю, что служба 'Zend\Session\SessionManager'
недоступна. попробуйте сделать это: $serviceManager->get('Zend\Session\SessionManager');
работать первым ...