PHP Yuva veya Python, Perl, Bash Yuva?

2 Cevap php

Ben en çok paylaşılan PHP hosting çalışacak bir soket sunucusu uygulamak için çalışıyorum.

Gereksinimleri Soket sunucusu yüklü olmalarıdır başladı ve bir şey yapıyor kullanıcı olmadan otomatik olarak PHP durdurulur. Bu sürece ortak küresel hosting çoğunluk üzerinde çalıştırmak gibi, soket sunucu yazılı ne dil önemli değildir.

Currently, I've written a Socket Server with PHP that implements an Object Cache: http://code.google.com/p/php-object-cache/

Kaynak: http://code.google.com/p/php-object-cache/source/browse/trunk/socket.class.php

Ancak, PHP yuva desteği ile derlenmiş olması gerekir, ve pek sunucuları PHP yuva desteği ile çalıştırın.

Benim asıl soru şudur: Ben soket sunucusu uygulamak, ve maksimum platform desteği var ve PHP içinde Invokable ne olmalıdır dili.

Diğer bir deyişle, PHP destekli Sunucular üzerinde en yaygın ne betik dilidir?

Yoksa tüm sunucular üzerinde çalışır olması için derlenmiş bir dilde soket sunucusu yazmak zorunda mı?

, Şu anda resmin dışında sadece Linux sunucuları IIS bırakalım. Ben birçok PHP siteleri IIS üzerinde çalışan sanmıyorum ...


edit:

Üzgünüm benim soru açık olmadığını düşünüyorum.

Ben bilmek istiyorum, ne diller aşağıdaki şartları verilen bir soket sunucusu oluşturmak için uygundur:

The language must exist in shared hosting, alongside PHP running in Apache (not CLI). The sockets support must be enabled natively, not via a required extension. PHP must be able to write the deamon to file as well as start and stop the deamon.

Ben tek bir sunucu için bir çözüm için sormuyorum. Bu hosting sunucuların çoğunluğu yerel çalıştırmak zorundadır.

2 Cevap

Gerçekten yüklemek gereksinimleri ne bağlıdır. Genellikle bir soket sunucusu yazmak için en kolay ve en standart yolu inet.d service yazmaktır. Bu benim unix makinelerinde standart bir servistir ve bu bir süreç çatal ve soket düzey ayrıntıları idare edecek. Eğer servis Unix aşağıdaki 1024 port üzerinde çalıştırmak istiyorsanız, bu halletmek için kolay yollarından biridir. Ancak, yüklemek ilk inet.d. yapılandırmak için kök gerektirir

Eğer hosting PHP exec çağrısı yapmak için izin verir, paylaşılan, o zaman Daemon bu şekilde başlayabilirsiniz. Ama unutmayın, o noktası 1024 çalıştırmak gerekir. Sizin program çoklu iş parçacıklı veya çok bir süreç olacak eğer bir sonraki karar vermeniz gerekir. Apache örneği normalde çok işlem ise tipik Java programları, çok dişli vardır.

Son olarak, ev sahibi yerine bir güvenlik duvarı olabilir. Bu bir bot ağının bir parçası haline gelen hosting hesapları önlemeye yardımcı olur. Güvenlik duvarı kuralları, diğer limanlara bağlantılara izin yoksa, uzaktan bağlanmak mümkün olmayacaktır.

Herhangi bir sunucu Linux altında PHP ile durdurulabilir veya başlatılabilir. Eğer internetten yuva kabul eden bir sunucu çalıştırıyorsanız Tabii ki, o zaman sadece doğrudan sunucuya bağlanmak ve kapatma için bunu söyleyebilirim. PHP ile gitmeye gerek yok!

"PHP bir sunucu başlayan" gelince de, Linux altında, her şey oldukça çok şey başlatılabilir. Sadece işlemini başlatmak ve cini moduna açılan için dışarı kabuk.

I'm a Perl fan myself. Not surprisingly, there's a Perl Daemon library available.

Barındırma sağlayıcı bir Perl script desteği sağlıyorsa, o zaman muhtemelen "sistem" veya backticks kullanma iznine sahip command. Sonra çok büyük olasılıkla bir cini başlayabilirsiniz. Ancak, (1024 üzerinde) olmayan bir ayrıcalıklı noktasını kullanmanız gerekecektir. Ayrıca, İLK onlara sormalısınız! Onlar kendi sunucusunda portlarını meşgul takdir olmayabilir. Bu çok kesinlikle size barındırma sağlayıcı ile görüşmek gereken bir şeydir.