Подтвердить что ты не робот

Сеансы в PHP 7

Я работаю с PHP 5.xx годами, но недавно обновлен до PHP 7. Я не могу создавать сеансы.

Я прочитал документацию.

В более раннем PHP вам просто нужно сделать:

session_start();

чтобы начать сеанс, но это не работает с PHP 7, и моя страница продолжает загружаться. Я также предоставил массив в параметре, как описано на веб-сайте PHP, но при этом он продолжает загружать страницу.

Я пробовал это:

session_start([
'cache_limiter' => 'private',
'read_and_close' => true,
]);

Но мой браузер продолжает загружаться, и через несколько секунд он отображает "Эта веб-страница недоступна"

Ошибки перезапуска Apache:

[Wed Dec 30 00: 45: 16.470001 2015] [mpm_winnt: notice] [pid 2384: tid 376] AH00455: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.0 настроен - возобновляется нормальные операции

[Wed Dec 30 00: 45: 16.470001 2015] [mpm_winnt: notice] [pid 2384: tid 376] AH00456: Apache Lounge VC14 Сервер построен: 9 декабря 2015 10:17:39

[Wed Dec 30 00: 45: 16.470001 2015] [core: notice] [pid 2384: tid 376] AH00094: Командная строка: 'c:\xampp\apache\bin\httpd.exe -d C:/xampp/Апач "

[Wed Dec 30 00: 45: 16.470001 2015] [mpm_winnt: notice] [pid 2384: tid 376] AH00418: Родитель: Созданный дочерний процесс 1716

[Wed Dec 30 00: 45: 17.172064 2015] [ssl: warn] [pid 1716: tid 384] AH01909: www.example.com:443:07 сертификат сервера НЕ содержит идентификатор, который соответствует имени сервера

[Wed Dec 30 00: 45: 17.343941 2015] [ssl: warn] [pid 1716: tid 384] AH01909: www.example.com:443:07 сертификат сервера НЕ включает идентификатор, который соответствует имени сервера

[Wed Dec 30 00: 45: 17.375192 2015] [mpm_winnt: notice] [pid 1716: tid 384] AH00354: Ребенок: начало 150 рабочих потоков.

4b9b3361

Ответ 1

Я нашел ошибку, связанную с xampp-версией i.e. x86 or x64. У меня есть система с x64 битными окнами, и я установил xampp с php7, но был бит x86. Это стало причиной ошибки apache crashes.

Теперь я отдельно установил apach2.4 (x64) и PHP7.0.1, который теперь работает отлично.

Ответ 2

Я использовал

$sss = $this->Loginmodel->validation();
$this->load->library('session');


if ($this->form_validation->run() == FALSE) {

    $this->load->view('navbar');
    $this->load->view('login');
    $this->load->view('footer');
} else if ($sss) {//if user is valid get session data to an array
    foreach ($sss as $row) {
        $sess_array = array(
            'type' => $row->type,
            'name' => $row->name,
            'email' => $row->email,
            'user' =>  $row->name,
            'music' => array(),
            'ptype' => $row->type,
            'id' => $row->id 
        );
        //set user as loged in
        $this->session->set_userdata('logged_in', $sess_array);
    }

    $data = array();
    $session_data = $this->session->userdata('logged_in');
    $data['name'] = $session_data['name'];
    $data['email'] = $session_data['email'];            
    $data['type'] = $session_data['type'];

для сеансов.... Чтобы назначать разные сеансы, когда пользователь регистрируется в разных браузерах время от времени.

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

$autoload['libraries'] = array('javascript', 'database', 'form_validation', 'session');