Verwendung externer DLLs in php Scripten
MichaelR
- php
Hallo,
meine bisherige Suche zum Thema "Wie kann ich extern vorhandene DLLs in meine eigenen PHP-Skripte integrieren" hat u.a. zum Vorschein gebracht, dass ich DLLs mittels dl() laden kann. Allerdings hätte ich noch ein paar grundlegende Fragen:
0. Die DLLs sollen Code enthalten, der jetzt in PHP-Form vorhanden ist.
1. Muss bei der Erstellung der Dlls irgendwas besonderes beachtet werden oder können diese wie immer erstellt werden? (Ich würde sie dann mit Hilfe von Borland's Delphi erstellen)
2. Der Aufruf von Funktionen einer DLL funktioniert dann praktisch wie in anderer Software auch, nur dass das halt in PHP dann ist? Sprich, es gibt keine besonderen Aufrufkonventionen von DLL-Funktionen in PHP?
3. Wie sieht das ganze mit der Serverkonfiguration aus: ideal wäre natürlich, wenn man überhaupt keine speziellen Änderungen am Server vornehmen müsste, das geht glaube ich aber nicht, oder?
Danke schonmal.
Frohe Weihnachten!
Grüße
Michael
Hallo Michael,
- Muss bei der Erstellung der Dlls irgendwas besonderes beachtet werden oder können diese wie immer erstellt werden?
Oh weh... wenn Du DLLs per dl() laden willst, dann müssen diese DLLs PHP-Erweiterungen sein. Wie die auszusehen haben, ist reichlich kompliziert. Vor allem hab ich keine Ahnung, wo ich anfangen müsste, es Dir so zu erklären, dass Du es hinterher in Borland Delphi machen könntest, selbst wenn ich tief genug in der Materie wäre - PHP ist in C geschrieben.
- Der Aufruf von Funktionen einer DLL funktioniert dann praktisch wie in anderer Software auch, nur dass das halt in PHP dann ist? Sprich, es gibt keine besonderen Aufrufkonventionen von DLL-Funktionen in PHP?
Willst Du nicht doch lieber http://de3.php.net/w32api verwenden? Damit kannst Du normale Windows-DLLs in PHP ansprechen. (Siehe das Beispiel auf dieser Seite)
- Wie sieht das ganze mit der Serverkonfiguration aus: ideal wäre natürlich, wenn man überhaupt keine speziellen Änderungen am Server vornehmen müsste, das geht glaube ich aber nicht, oder?
Naja, im Falle von dl() müsste eigentlich nur der Safe-Mode abgeschaltet sein - im Falle des Einbindens über die W32API-Erweiterung muss halt diese geladen sein - und der Server unter Windows laufen (das muss er zwangsläufig, damit Du DLLs einbinden kannst).
Viele Grüße,
Christian
Hallo Christian,
[...]
Willst Du nicht doch lieber http://de3.php.net/w32api verwenden? Damit kannst Du normale Windows-DLLs in PHP ansprechen. (Siehe das Beispiel auf dieser Seite)
Nichts (!) lieber als das! Danke !!!
(Das mit dl() war das einzig brauchbare was ich bisher gefunden hab'....)
Viele Grüße + frohe Weihnachten,
Michael