In 4D können Sie direkt PHP Skripte ausführen. So können Sie die Vorteile von "utility libraries" nutzen, die über PHP verfügbar sind. Diese Librarys bieten insbesondere die folgenden Funktionen (diese Liste ist nicht vollständig):
- Ciphering (MD5) und Hashing
- ZIP Dateien verwalten
- Bilder verwalten
- LDAP Zugriff
- COM Zugriff (Steuern von MS Office Dokumenten), etc.
Um ein PHP-Skript oder eine Funktion auszuführen, können Sie den Befehl PHP Execute oder Systemworker verwenden.
Eine vollständige Beschreibung der PHP-Befehle und der Syntax finden Sie in der umfangreichen PHP-Dokumentation, die im Internet verfügbar ist. Als Beispiel finden Sie hier die Adressen einiger Referenzseiten:
http://us.php.net/manual/en/
http://phpdeveloper.org/
Um PHP mit 4D zu verwenden, müssen Sie einen PHP-Interpreter einsetzen. Der PHP-Interpreter muss zwei Bedingungen erfüllen:
- Es muss in FastCGI kompiliert werden,
- Er muss sich auf demselben Rechner wie 4D befinden.
Sie müssen den Interpreter so konfigurieren, dass er auf eine bestimmte Adresse und einen TCP-Port hört. Diese Parameter können entweder über Datenbank-Eigenschaften oder für die Session über den Befehl SET DATABASE PARAMETER festgelegt werden. Natürlich müssen Sie das Starten und Funktionieren des Interpreters selbst verwalten.
Um einen PHP-Interpreter herunterzuladen und zu installieren, haben Sie zwei Möglichkeiten:
- Laden Sie PHP von der offiziellen PHP-Website herunter. Unter Windows können Sie Ihre Version auswählen. Unter macOS müssen Sie Ihre eigene Version kompilieren oder eine vorgefertigte Version auf anderen Websites finden.
- Laden Sie PHP für macOS und Windows von der 4D produkt-Download-Seite herunter. Beachten Sie, dass diese Version, die in 4D bis zu 4D v20 R2 verwendet wurde, nicht mehr gepflegt wird.
Ausführliche Informationen zum Herunterladen, Kompilieren und Installieren von PHP unter Windows oder macOS finden Sie in dem folgenden 4D Blog-Beitrag: Überholte PHP-Befehle und Entfernung des in 4D integrierten PHP-Interpreters.
Die Initialisierungsdatei php.ini wird im Ordner Ressourcen des Projekts abgelegt. Die Datei php.ini kann insbesondere dazu verwendet werden, den Speicherort der PHP-Erweiterungen festzulegen. Wenn diese Datei beim ersten Aufruf von PHP nicht vorhanden ist, wird sie von 4D mit den Standardkonfigurationsoptionen erstellt.
Wenn Sie nicht die Standard 4D php.ini Datei verwenden, müssen Sie sicherstellen, dass die von Ihnen verwendete php.ini die folgenden Einträge enthält:
Beachte, dass die aktuelle Version auf der offiziellen PHP-Website das mbstring-Paket nicht standardmäßig lädt (das von 4D benötigt wird). Wenn Sie es verwenden, müssen Sie möglicherweise diese Zeilen in die Datei php.ini einfügen:
extension_dir = "./ext/"
extension=mbstring
Hinweis zum Timeout
Wenn die Dauer der PHP-Verarbeitung relativ lang ist (über 30 Sekunden), wird in 4D standardmäßig ein 'Timeout'-Fehler zurückgegeben und die Verarbeitung schlägt fehl. In diesem Fall können Sie den standardmäßigen Timeout einstellen, um der PHP-Ausführung mehr Zeit zu geben. Es gibt zwei Möglichkeiten, dies zu tun:
- indem Sie die Variable max_execution_time in der Datei php.ini setzen (geben Sie einen Wert in Sekunden an). Achtung: Diese Einstellung wirkt sich auf alle Skripte aus.
- durch den Aufruf des Befehls set_time_limit(nbSec) in dem PHP-Ausführungsskript, das die lange Verarbeitung durchführt. Übergeben Sie die maximale Dauer für die Ausführung des PHP-Skripts in nbSec. Wir empfehlen, diese Einstellung zu verwenden, da sie nur dieses Skript betrifft. In der Regel ist es aus Sicherheitsgründen besser, einen niedrigeren Timeout-Wert für PHP-Skripte zu verwenden.