4.9.2 Prozesse starten und schließen

Ein PHP-Script kann Systembefehle (z.B. Unix-Befehle) ausführen, um beispielsweise ein Mail-Programm aufzurufen.

Funktion Beschreibung
popen() öffnet eine Verbindung zu einem Prozess
pclose() schließt die Verbindung mit dem Prozess

Beispiel

Der Abschnitt für den Aufruf des Mailprogramms lautet:

1
2
3
4
5
$fd = popen("/usr/sbin/sendmail -t", "w");
fputs($fd, "To: studi@technik-emden.de\n");
fputs($fd, "Subject: Internetanfrage\n\n");
fputs($fd, "Sie haben folgende Anfrage erhalten:\n$text");
pclose($fd);

Hinweis

Sicherheitshinweis: Die Mächtigkeit von PHP führt dazu, dass jeder Nutzer, der PHP-Scripte auf den Webserver stellen kann, auch Unix-Befehle ausführen darf. Wenn Sie also einen Webserver konfigurieren und andere Nutzer darauf arbeiten dürfen (beispielsweise PHP-Skripte hochladen), dann müssen Sie sich umfangreich um Sicherheitseinstellungen in der php.ini kümmern. Das Problem sind dabei weniger die vertrauenswürdigen Nutzer, sondern deren gegebenenfalls unprofessionell geschriebenen PHP-Programme.