2016-07-22 21 views
7

Symfony uygulamalarını php 7'ye başarıyla geçirme.PHP7 fpm + Symfony 2.8 - 3.1, memcached kullanarak, ancak oturum verilerini dosyaya yazamadı.

Hata mesajları:

Symfony'nin 2.8:

Uyarı: session_write_close(): (kullanıcıyı) oturum verilerini yazılamadı.

Uyarı: session.save_path geçerli ayar (/ var/lib/php/oturum)

Symfony'nin 3.1 doğru olup olmadığını kontrol edin session_regenerate_id(): Oturum nesne imha başarısız oldu. ID: kullanıcı (yol:/var/lib/php/oturum)

Sorun php tahmin ediyorum mesajdan Şimdi

dosyalara oturumları yazmaya çalışıyor.

  • Oturumlar için memcached işleyiciyi kullanıyorum, çalışıyor ve php 5.6 ile çalışıyor.
  • native_file işleyicisini kullanırsam - her şey çalışır.

Bundan nasıl anlayacağımı bilmiyorum. Benzer sorunlar için bulduğum tüm yanıtlar, native_file'dan memcached'a (zaten kullanıyor) geçiş, kullanıcı ve/veya session dir için izinler (önemli değil), bazılarını (güncellenmiş ve kontrol edilen) doğru olarak döndürmek için oturum işleyicisini güncellemeyi içerir.

Bunu nasıl hata ayıklayabilirim?

+0

yılında

php.auto_start=1 

;' komutu? – AlterPHP

+0

Eh, bazı sihir oldu ... Dumped save_handler, "user", native_file ve tekrar memcached olarak değiştirildi - şimdi çalışıyor! Ne olduğundan emin değil, aynı sunucudaki diğer uygulamalar da çalışmaya başladı, hiçbir şey değişmedi, güncellenmedi ya da başka bir şey. Daha fazla test yapacak. –

+0

Bu yüzden bunun alt kısmına gelmedim çünkü sonunda sadece redis'e geçtik. Php 5.6 ve 7.1 ve symfony 2.8-3.2 için iyi çalışıyor. –

cevap

0

Kullanım
$ sudo service memcached start

+0

İyi memcached kesinlikle çalışıyor, buna gerek yok. Dediğim gibi, PHP 5.6 ile çalıştı. –

0

Set `dökümü (ini_get ('session.save_handler')) döndürür Ne php.ini