Birden fazla sayfa arasında fsockopen () dönüş değeri paylaşmak için bir yolu?

2 Cevap php

Hey, im using a connection to a server in my php script, opened with fsockopen() and i want it to share between different pages so i serialized it and saved it in a session variable but it seems that that ia a bad idea because when i do this nothing happens... Not even an error. The problem is that this connection requires a handshake so i cant reconnect everytime

Başka bir soru, nedir fsockopen zaman aşımı veya bağlantı eğer hayatta kalmak yok. denilen orijinal php script kapalı?

EDIT:// I have a script thats running a long time so it would be possible to keep it open, but my initial question, can i share the handle via $_Session and if yes do i need to serialize it? because if i echo the handle it isnt an integer

2 Cevap

Açılış PHP komut dosyası, süreci "kalıplar" döner ve soket onunla birlikte gider ne zaman, oturum verileri bu kaydedemezsiniz. Sen kolu gelen tamsayı değeri kaydetmek, ancak sonraki sayfa yüklenir ve çalışma olduğunda artık geçerli olacaktır.

fsockopen bir ağ soketi açıyor.

Bu soket açıldı PHP script sona erdiği, onun tarafından açılan yuva lost: Eğer başka bir script onları yeniden kullanamazsınız.

Eğer birkaç farklı sayfalar o soketi kullanmak istiyorsanız, her bir senaryo için yeniden açarak başka yolu o zaman alır bile var.


Another (a lot more complex) solution could be to have :

  • arka planda daemon olarak çalışır ve uzaktan hizmet bağlanır bir betik
  • Bu komut her zaman çalışan (or, at least, for a long time) edilir
  • Diğer komut yerine servisine bağlanmak için çalışmakla, o cini bilgi göndermek
  • ve her zaman bağlı olduğu cini, bu bağlı bulunuyor uzaktan hizmet için bu bilgileri gönderir

Dediğim gibi, biraz daha karmaşık ... ama :-) oldukça iyi çalışması gerektiğini

Olsa da, unutmayın ki bir cini ve muhtemelen sizin sunucunun komut satırına erişim için ihtiyaç duyacağı tüm kullanarak: Eğer (or not that well) tüm yapmak mümkün olmayacaktır sadece Apache PHP çalıştırırsanız .