2016-07-22 9 views
7

Migrowanie aplikacji symfony do php 7 bez powodzenia.PHP7 fpm + Symfony 2.8 - 3.1, używanie memcached, ale nie udało się zapisać danych sesji do pliku

komunikaty o błędach:

Symfony 2.8:

Ostrzeżenie: session_write_close(): Nie udało się zapisać dane sesji (użytkownika). Proszę sprawdzić, czy aktualne ustawienie session.save_path jest prawidłowe (/ var/lib/php/sesje)

Symfony 3.1:

Ostrzeżenie: session_regenerate_id(): zniszczenie obiektu sesja nie powiodła się. ID: użytkownik (ścieżka:/var/lib/php/sesje)

Problem

Teraz z komunikatu Przypuszczam php próbuje napisać sesje do plików.

  • Używam obsługi memcached dla sesji, działa i działa z php 5.6.
  • Jeśli używam obsługi native_file - wszystko działa.

Nie wiem, jak to uczynić. Wszystkie odpowiedzi, które napotkałem na podobne problemy, obejmują przełączenie z native_file na memcached (już go używa), zmianę użytkownika i/lub uprawnień dla sesji dir (nie ma znaczenia?), Aktualizowanie obsługi sesji, aby zwrócić true z niektórych metod (zaktualizowanych i sprawdzonych).

Jak mogę to debugować?

+0

Co zwraca 'zrzutu (ini_get ('session.save_handler'));' polecenia? – AlterPHP

+0

Cóż, wydarzyło się trochę magii ... Porzucony save_handler, wyświetlił 'user', zmieniony na native_file i memcached ponownie - teraz działa! Nie jestem pewien, co się stało, ale inna aplikacja na tym samym serwerze również zaczęła działać, nic się nie zmieniło, nie zaktualizowałem ani nic. Wykona więcej testów. –

+0

Więc nie doszedłem do sedna tego, ponieważ w końcu po prostu przełączyliśmy się na redis. Działa dobrze dla php 5.6 i 7.1 oraz symfony 2.8-3.2. –

Odpowiedz

0

Zastosowanie
$ sudo service memcached start

+0

Well memcached zdecydowanie działa, nie trzeba tego. Jak już powiedziałem, działało z PHP 5.6. –

0

Ustaw

php.auto_start=1 

w php.ini

Powiązane problemy