Frage

Ich schrieb eine PHP-Erweiterung und es kann erfolgreich unter Linux kompiliert und ausgeführt werden. Aber auf Fenster, traf ich einige Probleme.

Ich habe die Compilierung auf Fenster nach http://blog.slickedit.com/?p = 128 mit PHP-Source-Version 5.2.10 und nach dem Kompilieren erzeugte die dLL-Datei. Aber wenn ich versuchte, die DLL-Datei zu verwenden, berichtete mir die Speicherprobleme beim Starten von Apache (Wamp-Server). Und dann begann ich den Debugging-Prozess, es schien, dass REGISTER_INI_ENTRIES () hatte Probleme.

Hier ist die PHP-Erweiterung Quellcode http://www.bluefly.cn/xsplit tar.gz , und es funktioniert auf Linux in Ordnung. Aber ich möchte auch, um es unter Windows arbeiten.

Sorry, ich bin kein Profi, so dass ich hoffe, jemand kann mir helfen.

Jede Hilfe ist willkommen und Dank im Voraus ~

War es hilfreich?

Lösung

Der Grund Sie nicht ein Problem auf Linux zu sehen, ist sehr wahrscheinlich, dass Sie einen Thread safebuild auf Fenster tun, aber nicht auf Linux. Versuchen Sie, --enable-maintainer-zts auf Linux und dann prüfen, mit valgrind (USE_ZEND_ALLOC=0 valgrind /usr/bin/php script.php)

Von einem schnellen glanceover Ihren Code, den ich sah, dass Sie nicht Ihre php_xsplit_init_globals definieren, die Thread-Variablen initialisiert. Tis Funktion wird von MINIT registriert werden, indem ein

ZEND_INIT_MODULE_GLOBALS(xsplit, php_yplist_init_globals, NULL);

Anruf. Vielleicht sonst etwas falsch ist, aber das ist das erste, was ich sah.

Andere Tipps

Wamp wird mit VC6 kompiliert und es erfordert, dass Ihr Modul mit VC6 kompiliert werden.

Berichterstattung Romain Bourdon (Autor von WampServer) Worte. Da Apache mit VC6 kompiliert wird, wenn Sie PHP als Modul ausgeführt werden soll (wie in WampServer) müssen Sie das Modul mit VC6 kompilieren

Wenn Sie Ihr Modul mit einer neueren Plattform zu kompilieren, müssen Sie Ihre gesamte PHP-CGI-Distribution kompilieren und als (schnell) CGI ausgeführt werden.

Wenn Sie französisch lesen kann (oder, wenn Sie wissen, wie man einen Übersetzer verwenden) können Sie lesen dieser Beitrag .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top