2016-03-22 19 views
0

Sorunumu ilk olarak gönderdim on a french forum, ama burada yardım almak için iyi bir fikir olacağını düşündüm.
Sanırım doğrudan konuya geçeceğim. Yerel olarak yerel ağ üzerinde çalıştığım bir site için bir sunucuya beta uyguladım. Capifony ve DoctrineMigrations kullandım. FOSUB'u devralan özel bir UserBundle ile FOSUserBundle kullanıyorum. Bazı alanlar Kullanıcı sınıfına, vb. Eklenir. Endişelenmeyin ana görünümleri geçersiz kılmadım ve {{form_rest (form)}} eksik ya da bunun gibi bir şey yok.[Symfony2.8] [FOSUserBundle] CSRF Jetonu geçersiz, beta prod dağıtımı ile yazılmış hiçbir oturum dosyası yok

Her şey yerel olarak çalışır, ancak beklediğiniz gibi, sunucuda aynı değildir. App/logs/prod.log hiçbir şey döndürmez, bir seviye koymayı denedim: Monolog yapılandırmasına (app/config/config_prod.yml) hata ayıkladım ama hiçbir şey değişmedi. çalışmalarla ilgili app/config/config.yml ait

Bölüm:

session: 
     handler_id: session.handler.native_file 
     save_path: "%kernel.root_dir%/sessions/" 

[TL; DR] bu sitede ne app/oturumlarda ne de başka bir yerde yaklaşık sunucuda hiçbir oturumlar dosyaları var. CSRF jetonu ile sorunun geçersiz olduğunu oturumların sorunundan geldiğini düşünüyorum.

Hiçbir şekilde izin hakları sorunu yoktur, uygulama/oturumlar doğru chown ile 777 (app/log'lar ve app/cache ile aynı) chmoded edilir. Web/config.php, yapılandırma ile ilgili bir sorun döndürmez. Bu sorunun nedenini tam olarak yerel olarak çalıştığından ve günlükte hiçbir şey olmadığında ürünle ilgili hata ayıklanamayacağınızı bilmiyorum ... Herhangi bir fikrin var mı?

+0

Oturumlar dizininde bir dosya oluşturan ve herhangi bir hata atıp atmadığını görmek için küçük bir denetleyici test komut dosyası oluşturabilirsiniz. Kayıt yok ve oturum yok, uygulamanın dosya sisteminde dosya oluşturamadığı, izinler veya yol yapılandırması veya başka bir sorun olmadığı anlamına geliyor. – Karolis

+0

@Karolis: Sadece bir deneme/yakalama ile yaptım. Bu fopen w + sonra denedim cevabı görüntüler, bu yüzden işe yaradığını söyledi, ama değil. Yerel olarak çalışırken, uygulama/oturumlarda sunucuda dosya oluşturulmaz. fopen görünüşe göre yanlış geri döner, ama ne yazık ki daha fazla bir şey yok. Daha fazla bilgi almak için başka bir şey kullanmam gerektiğini düşünüyorum. – Harest

+0

@Karolis: 5 dakika sonra düzenlenemiyor. Ama ben sadece error_get_last() kullanarak hatayı aldım ve gerçekten izinlerle ilgili ...: 'akışını açamadı: İzin reddedildi [dosya]' Neden 777’den beri ve doğru kullanıcı tarafından sahiplenildi/grubudur. Düzenleme: Tamam ... Symlink üzerinde 777, gerçek dir 755 idi. Kendimi ... aptal. Problem çözüldü sanırım. – Harest

cevap

0

Gerçekten de izinlerle ilgili bir sorun oldu. Sorun Capifony ile ilgiliydi. Shared_children symlinks vardır. Ve bir sembolik bağlantı kurarken, hiçbir şey yapmaz. Yani burada örneğin paylaşılan/uygulama/oturum dizini hala yeterli değildi 755 idi.

Benzer bir sorunla karşılaşırsanız. Cap proje dizininizdeki shared_children için izinlerin verildiğinden emin olun/iyi ayarlanmış her şeyi paylaşın.

İlgili konular