Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP Socket

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich arbeite mich gerade in das Thema "Socket-Programmierung" ein und habe

vor für einen Intranet Webserver (Apache) einen Socket in PHP zu entwickeln.

Und zwar soll der auf dem HTTP Port lauschen ob HTTP-Anfragen eingehen und

wenn ja, Daten in ein Log-File auf einem Pfad des Servers speichern.

Nur da stellt sich mir jetzt die Frage, wie binde ich das Script in den Webserver

ein, damit jeder Request auf den Server abgehört wird?

Ich könnte die PHP-Datei in jedes HTML bzw. PHP File includieren. Aber da bin

ich denk ich auf dem falschen Dampfer, oder ???

Hoffe hier werde ich geholfen :D

Viele Grüße,

Christian

Nur da stellt sich mir jetzt die Frage, wie binde ich das Script in den Webserver

ein, damit jeder Request auf den Server abgehört wird?

Ich könnte die PHP-Datei in jedes HTML bzw. PHP File includieren. Aber da bin

ich denk ich auf dem falschen Dampfer, oder ???

PHP wird nur dann ausgeführt, wenn es aufgerufen wird vom Server. Einen Server in PHP selbst kannst du also vergessen ;)

Mit dem Apache könntest du dir einen Virtuellen Server erstellen, und dann noch einen eigenen Handler.

Also alle Anfragen auf den Port 80 (auf den der Apache dann hört) werden an Verzeichnis /srv/sockets/ weitergeleitet und für das Verzeichnis wird dein php-socket als Handler eingebunden.

Apache's Handler Use - Apache HTTP Server

Sollte gehen, aber nie probiert.

Hey guter Tipp! Danke...

Ich hab mir grad überlegt es würde doch auch so funktionieren:

1.) Ich programmier den PHP Server-Socket

2.) Setze PHP-Timeout auf unendlich

3.) Speicher Server-Socket in einem per .HTACCESS geschützen Bereich

im /htdocs/ Verzeichnis

4.) Schreibe ein Script zum beenden des Sockets

5.) Das dann ebenfalls ins /htdocs/

Ich könnte das Server-Socket dann von einem entfernten Rechner aus starten

und wieder beenden!

Das würde doch funzen, oder ??? :confused:

dein ansatz ist lobenswert, aber weder stabil implementierbar, noch skalierbar, noch ressourcenschonend. IMHO erfindest du ausserdem das rad neu. setze auf eine bestehende servertechnologie auf, z.b. die von JesterDay vorgeschlagene lösung mittels apache(-modul) oder - falls zugelassen - einer anderen software - z.b. thttpd oder IIS mit einen ISAPI-filter.

s'Amstel

PHP wird nur dann ausgeführt, wenn es aufgerufen wird vom Server. Einen Server in PHP selbst kannst du also vergessen ;

PHP hat auch einen Kommando Zeilen Interpreter.

Einem Webserver in PHP zu schreiben ist also durchaus möglich. Auch ohne Apache.

Gruß Jaraz

dein ansatz ist lobenswert, aber weder stabil implementierbar, noch skalierbar, noch ressourcenschonend. IMHO erfindest du ausserdem das rad neu. setze auf eine bestehende servertechnologie auf, z.b. die von JesterDay vorgeschlagene lösung mittels apache(-modul) oder - falls zugelassen - einer anderen software - z.b. thttpd oder IIS mit einen ISAPI-filter.

s'Amstel

Das ist mir bewusst. Es soll auch nix produktives werden. Ich brauch nur nen Überblick darüber und es geht eher um Lerneffekte :-)

Und da ich in PHP recht sicher bin und Java so gut wie gar nicht, hab ich mich halt für ersteres entschieden...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.