PHPUnit \ Framework \ Error \ Предупреждение: ini_set (): заголовки уже отправлены. Вы не можете изменить настройки ini модуля сеанса в это время. - PullRequest
0 голосов
/ 29 октября 2018

Я следую учебнику Zend , чтобы использовать Zend-Test в моем проекте, но я получаю эту ошибку .

Для создания базы моего проекта я сделал большую часть этой книги .

Я также использую PHP 7.2.

При поиске в Google я обнаружил, что многие люди испытывают проблемы с использованием PHP 7.2 с модулем PHP, но, похоже, к настоящему моменту все в порядке. Зенд-тест тоже обновляется? Если нет, что я могу сделать, чтобы использовать Zend-Test сейчас? Если да, как мне получить последнюю версию?

EDIT

После некоторого теста я обнаружил, что проблема в функции начальной загрузки:

public function onBootstrap( MvcEvent $event ) {
    $application = $event->getApplication();
    $serviceManager = $application->getServiceManager();
    $sessionManager = $serviceManager->get(SessionManager::class);

    $eventManager = $event->getApplication()->getEventManager();
    $sharedEventManager = $eventManager->getSharedManager();
    // Registra o método fo event listener
    $sharedEventManager->attach(AbstractActionController::class,
            MvcEvent::EVENT_DISPATCH, [$this, 'onDispatch'], 100);

    // Caso a sessão não seja válida, esquece ela
    $this->forgetInvalidSession($sessionManager);
}

Если быть более конкретным, проблема начинается с этой строки:

$sessionManager = $serviceManager->get(SessionManager::class);

РЕДАКТИРОВАТЬ 2

Удаление этой строки e, которую он использует, это вроде чем работает, но начинает выдавать ту же ошибку в другом модуле в аналогичной строке:

$authService = $container->get(\Zend\Authentication\AuthenticationService::class);
...