phpbar.de logo

Mailinglisten-Archive

[php] Problem mit Sockets und exec/system/usw

[php] Problem mit Sockets und exec/system/usw

Ronny Tiebel ronny.tiebel at cloud-it-services.com
Do Nov 18 14:20:36 CET 2010


Hallo @all

ich habe ein Problem unter PHP folgendes zu realisieren.

Ich möchte einen PHP Daemon schreiben der per Sockets von einem
Zentralen Webinterface aus "Befehle" erhält, und die damit verknüpften
Befehle auf unseren Servern ausführt.

Dieser Daemon läuft auf jedem unserer Server und wird über einen
bestimmten Port per VPN angesprochen. Wenn der Daemon einen bestimmten
String empfängt, soll er den entsprechenden Befehl z.Bsp. mit
exec/system ausführen.

Im Moment versuche ich das zu Testen, in dem ich von einem Server aus
meinen lokalen Apache neu zu starten.

Ums kurz zu machen: es funktioniert.

Allerdings tritt dabei folgende Merkwürdigkeit auf:

Wenn der Apache neu gestartet wird, belegt Apache die IP und den Port
des Sockets, der durch PHP erzeugt wurde. Das Skript läuft zwar weiter,
aber Apache wird bei erneutem Aufruf angesprochen.

Oder:

Nach dem Neustarten des Apachen durch das PHP-Skript mit exec/system
beende/kille ich das Skript und versuche es erneut auszuführen. Da der
Apache Prozess  den Port auf der entsprechenden IP belegt.

Ich hab das ganze nun auch mit MySQL versucht, da hat das ganze
geklappt. Aber mit openvpn das gleiche Phänomen.

Auch das auslagern in ein Bash Skript hat das gleiche Resultat zur folge.

Infos zu verwendeten OS/Software Versionen:

Server/Client: Debian Lenny
Client/Server: Ubuntu Lucid (10.04)

Ubuntu:
Apache 2.2.14 Ubuntu

PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:49:46)


Debian:
Apache 2.2.9

PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug  4 2010
06:06:53)

entsprechende Pear Pakete sind installiert.


Hat jemand eine Idee?

Vielen Dank schonmal!

Mfg Ronny

php::bar PHP Wiki   -   Listenarchive