Frage zu Apache2 und Php
Frage zu Apache2 und Php
Hallo,
ich habe Apache2 v2.4.2 und php5 v5.6.12 installiert um ein Php Programm zu testen. Wie in der readme von php5 beschrieben habe ich die Datei modphp5.dll aus dem Php5\Apache2 Unterverzeichnis nach Apache2\modules kopiert. Im Apache2 Verzeichnis die startup.cmd und die httpd.conf angepasst. Nach Aufruf der startup.cmd wird das Programm mit folgender Fehlermeldung abgebrochen:
bin\\httpd: Syntax error on line 297 of ./conf/httpd.conf: Cannot load E:/apache2/modules/modphp5.dll into server: SYS0002: Die angegebene Datei konnte nicht gefunden werden. (PHP5)
Die Fehlermeldung SYS0002 ist normalerweise Quatsch, da die Dll im selben Verzeichnis steht wie die anderen Dlls die problemlos geladen werden. Etwas irritiert mich der Zusatz (php5), sucht das Programm die Dll woanders? Bei verschiedenen Tests erschien dort der komplette Pfad zu dem Verzeichnis der Dlls.
Oder liege ich damit falsch und die Programmversionen passen nicht zusammen?
Mein System: eCs 2.1 deutsch
Vielleicht hat jemand einen Tipp der mich weiter bringt.
Lothar
ich habe Apache2 v2.4.2 und php5 v5.6.12 installiert um ein Php Programm zu testen. Wie in der readme von php5 beschrieben habe ich die Datei modphp5.dll aus dem Php5\Apache2 Unterverzeichnis nach Apache2\modules kopiert. Im Apache2 Verzeichnis die startup.cmd und die httpd.conf angepasst. Nach Aufruf der startup.cmd wird das Programm mit folgender Fehlermeldung abgebrochen:
bin\\httpd: Syntax error on line 297 of ./conf/httpd.conf: Cannot load E:/apache2/modules/modphp5.dll into server: SYS0002: Die angegebene Datei konnte nicht gefunden werden. (PHP5)
Die Fehlermeldung SYS0002 ist normalerweise Quatsch, da die Dll im selben Verzeichnis steht wie die anderen Dlls die problemlos geladen werden. Etwas irritiert mich der Zusatz (php5), sucht das Programm die Dll woanders? Bei verschiedenen Tests erschien dort der komplette Pfad zu dem Verzeichnis der Dlls.
Oder liege ich damit falsch und die Programmversionen passen nicht zusammen?
Mein System: eCs 2.1 deutsch
Vielleicht hat jemand einen Tipp der mich weiter bringt.
Lothar
Ich habe die php5.dll auch in \moduls\. Warum weiß ich nicht, aber ev. hatte ich den gleichen Fehler.
P:\AMPOS2\apache2\modules\php5.dll
Allerdings läuft hier
P:\AMPOS2\apache2\modules\php5.dll
Allerdings läuft hier
Code: Alles auswählen
Apache/2.2.29 (OS/2) PHP/5.4.36 mod_ssl/2.2.29 OpenSSL/1.0.1i DAV/2
Leider hat es nicht geholfen. Es kommt folgende Meldung:
Es ist ein nicht behebbarer Fehler aufgetreten.
Der Prozess wurde beendet.
Es ist ein nicht behebbarer Fehler aufgetreten.
Der Prozess wurde beendet.
Hier habe ich nur ältere Versionen im Einsatz und neuere noch nicht ausgepackt. Deshalb nur zum einfachen Vergleich:
Die Zeile in der httpd.conf lautet hier: "LoadModule php5_module modules/modphp5.dll" (mit Schrägstrich und als letzte der Module-Aufzählung). Entsprechend befindet sich die dll ebenfalls in \apache2\modules.
Meine zugehörige php5.dll liegt in \apache2\bin kopiert (davon stand zwar nichts in der PHP-readme.os2, aber irgendwie muss sie ja in den libpath...).
Die php5.6.12 benötigt auch schon die libc066.dll, wozu auch immer.
Die Zeile in der httpd.conf lautet hier: "LoadModule php5_module modules/modphp5.dll" (mit Schrägstrich und als letzte der Module-Aufzählung). Entsprechend befindet sich die dll ebenfalls in \apache2\modules.
Meine zugehörige php5.dll liegt in \apache2\bin kopiert (davon stand zwar nichts in der PHP-readme.os2, aber irgendwie muss sie ja in den libpath...).
Die php5.6.12 benötigt auch schon die libc066.dll, wozu auch immer.
Genau so habe ich es in die httpd.conf geschrieben. Sobald ich aber die php5.dll in ein Verzeichnis kopiere das im Libpath steht kommt die Fehlermeldung ' Es ist ein nicht behebbarer Fehler aufgetreten'. Die libc066.dll habe ich in c:\ecs\dll.
Ich werde es mal mit älteren Versionen probieren.
Ich werde es mal mit älteren Versionen probieren.
Pardon: Bist Du ganz sicher, dass Du im langen LIBPATH nur eine - nämlich die aktuelle - php5.dll hast?
Denn auch bei mir erscheint ein "nicht behebbarer Fehler", wenn ich mal aus Spaß eine frühere php5.dll weiter nach vorne platzierte...
In den LIBPATH gehört mehr...
Ich starte httpd über ein Programmsymbol *): cmd.exe mit Parameter </C "g:\apache2\startupLS.cmd"> (ohne die Spitzen!) und g:\apache2 als Arbeitsverzeichnis. Dabei lautet startupLS.cmd =
*) eCs-Fenster, (produktiv:) beim Starten Symbolgröße und beim Beenden schließen
- php5.dll liegt in apache2\bin, modphp5.dll in apache2\modules. (mysqld.exe kann ich anschließend starten, wenn ich's brauche)
Dazu analog ein weiteres mit shutdownLS.cmd =
mit einem Eintrag in httpd.conf: <PidFile logs/httpd.pid> (ohne die Spitzen!). kill.exe kommt mit eCS daher...
Das Problem dürfte kaum etwas mit den Versionen selbst zu tun haben, sonst hätten schon Mehrere geschrieen
Viel Erfolg!

Denn auch bei mir erscheint ein "nicht behebbarer Fehler", wenn ich mal aus Spaß eine frühere php5.dll weiter nach vorne platzierte...
In den LIBPATH gehört mehr...

Ich starte httpd über ein Programmsymbol *): cmd.exe mit Parameter </C "g:\apache2\startupLS.cmd"> (ohne die Spitzen!) und g:\apache2 als Arbeitsverzeichnis. Dabei lautet startupLS.cmd =
Code: Alles auswählen
@echo off
rem adjust as necessary
set beginlibpath=g:\apache2\bin;g:\apache2\modules;g:\mysql51\bin;
bin\httpd -d . 2>&1
- php5.dll liegt in apache2\bin, modphp5.dll in apache2\modules. (mysqld.exe kann ich anschließend starten, wenn ich's brauche)
Dazu analog ein weiteres mit shutdownLS.cmd =
Code: Alles auswählen
/* Rexx script to shut down Apache */
pid = linein("logs\httpd.pid")
'kill.exe -TERM 'pid
Das Problem dürfte kaum etwas mit den Versionen selbst zu tun haben, sonst hätten schon Mehrere geschrieen

Viel Erfolg!

Da es eine Erstinstallation ist habe ich nur eine php5.dll auf meinem Rechner. Meine startup.cmd ist ähnlich Deiner:
@echo off
rem adjust as necessary
set beginlibpath=e:\apache2\bin;e:\apache2\modules;
bin\httpd -d . 2>&1
Die php5.dll habe ich nacheinander in verschiedene Verzeichnisse kopiert z.B. in \apache2\bin, \apache2\modules oder auch \ecs\dll. Es kam immer dieselbe Fehlermeldung.
Ich habe dann Apache2 v2.2.29 installiert, mit dieser Version gibt es keine Probleme, der Webserver läuft und Php Scripte auch. Vielleicht lag es auch daran das ich nur eine Kurzfassung der php.ini in \mptn\etc hatte. In dem Ziparchiv der v5.6.12 ist keine php.ini.sample dabei, ich habe dann eine aus einem älteren Paket genommen und angepasst.
Die php5.dll bleibt im Verzeichnis \php5, dafür steht das Verzeichnis mit in der startup.cmd.
@echo off
rem adjust as necessary
set beginlibpath=e:\apache2\bin;e:\apache2\modules;
bin\httpd -d . 2>&1
Die php5.dll habe ich nacheinander in verschiedene Verzeichnisse kopiert z.B. in \apache2\bin, \apache2\modules oder auch \ecs\dll. Es kam immer dieselbe Fehlermeldung.
Ich habe dann Apache2 v2.2.29 installiert, mit dieser Version gibt es keine Probleme, der Webserver läuft und Php Scripte auch. Vielleicht lag es auch daran das ich nur eine Kurzfassung der php.ini in \mptn\etc hatte. In dem Ziparchiv der v5.6.12 ist keine php.ini.sample dabei, ich habe dann eine aus einem älteren Paket genommen und angepasst.
Die php5.dll bleibt im Verzeichnis \php5, dafür steht das Verzeichnis mit in der startup.cmd.
da der ältere läuft, bist du sicher du hast alle benötigten dll? Weil neuere Apache und PHP sachen meist auch neuere andere dll brauchen. chkdll32 oder pmdll helfen da.LotharI » Mi 2. Sep 2015, 15:17 hat geschrieben:Da es eine Erstinstallation ist habe ich nur eine php5.dll auf meinem Rechner. Meine startup.cmd ist ähnlich Deiner:
@echo off
rem adjust as necessary
set beginlibpath=e:\apache2\bin;e:\apache2\modules;
bin\httpd -d . 2>&1
Die php5.dll habe ich nacheinander in verschiedene Verzeichnisse kopiert z.B. in \apache2\bin, \apache2\modules oder auch \ecs\dll. Es kam immer dieselbe Fehlermeldung.
Ich habe dann Apache2 v2.2.29 installiert, mit dieser Version gibt es keine Probleme, der Webserver läuft und Php Scripte auch. Vielleicht lag es auch daran das ich nur eine Kurzfassung der php.ini in \mptn\etc hatte. In dem Ziparchiv der v5.6.12 ist keine php.ini.sample dabei, ich habe dann eine aus einem älteren Paket genommen und angepasst.
Die php5.dll bleibt im Verzeichnis \php5, dafür steht das Verzeichnis mit in der startup.cmd.
Silvan Scherer (_diver)
CTO bww bitwise works GmbH
DIE Quelle für ArcaOS, Software und Support, außerdem sind wir für finanzielle Unterstützung immer dankbar!
CTO bww bitwise works GmbH
DIE Quelle für ArcaOS, Software und Support, außerdem sind wir für finanzielle Unterstützung immer dankbar!
Ich gehe mal davon aus das bei den Dlls auf ziemlich aktuellen Stand bin. Ich habe Openoffice 4.1 und Seamonkey 2.28 installiert, die verlangen auch nach neuen Dlls.
Ich habe mir mal die beiden Apache2 Pakete angesehen. Die Version v2.4.2 wurde zuletzt 2012 aktualisiert, die v2.2.29 in 2014. D.h. das Paket mit der höheren Versionsnummer ist älter, ich habe somit mit der niedrigen Versionsnummer eine aktuellere Version installiert.
Ich habe nochmal die Version 2.4.2 installiert, die php.ini, httpd.conf und die startup.cmd habe ich beibehalten. Es kommt sofort die Fehlermeldung: Es ist ein nicht behebbarer Fehler aufgetreten.
Ich habe mir mal die beiden Apache2 Pakete angesehen. Die Version v2.4.2 wurde zuletzt 2012 aktualisiert, die v2.2.29 in 2014. D.h. das Paket mit der höheren Versionsnummer ist älter, ich habe somit mit der niedrigen Versionsnummer eine aktuellere Version installiert.
Ich habe nochmal die Version 2.4.2 installiert, die php.ini, httpd.conf und die startup.cmd habe ich beibehalten. Es kommt sofort die Fehlermeldung: Es ist ein nicht behebbarer Fehler aufgetreten.
Es sind unterschiedliche Entwicklungszweige mit unterschiedlichen 'Features', die Versionen 2.4.x und 2.2.x werden nebeneinander geführt. Näheres allgemein auf httpd.apache.org.LotharI » Mi 2. Sep 2015, 20:39 hat geschrieben: Die Version v2.4.2 wurde zuletzt 2012 aktualisiert, die v2.2.29 in 2014. D.h. das Paket mit der höheren Versionsnummer ist älter.
Paul Smedley hat eine "EXPERIMENTAL" 2.4.16 bereitgestellt und eine dazu passende modphp5.dll, beides hier zu finden. Vielleicht möchtest Du ihm ja beim Testen helfen?

Bei mir läuft noch 2.2.24 (bzw. 2.2.22 auf Linux...), irgendeine 2.4er habe ich nie besessen.
Davon ausgehen ist nicht wissen. Wie gesagt PMDLL oder chkdll32 sagen es dir genau.LotharI » Mi 2. Sep 2015, 20:39 hat geschrieben:Ich gehe mal davon aus das bei den Dlls auf ziemlich aktuellen Stand bin. Ich habe Openoffice 4.1 und Seamonkey 2.28 installiert, die verlangen auch nach neuen Dlls.
Silvan Scherer (_diver)
CTO bww bitwise works GmbH
DIE Quelle für ArcaOS, Software und Support, außerdem sind wir für finanzielle Unterstützung immer dankbar!
CTO bww bitwise works GmbH
DIE Quelle für ArcaOS, Software und Support, außerdem sind wir für finanzielle Unterstützung immer dankbar!
Hallo Lothar,
ich hatte ähnliche Schwierigkeiten und bin deshalb auf diesen Beitrag gestoßen. Bei mir fehlte "mmap", dann lief es
Schöne Grüße
Hanno
PS: Wenn Michael Oehlhof bereit wäre, wieder einmal ein aktuelles AMP4eCS zusammenzustellen, wäre das super. Da scheitert es aber vermutlich am "Sponsoring" auch von anderen
Event. frage ich einmal bei ihm nach, ob er wieder was machen würde. Oder die Infos/Daten, wie er das Paket zusammengestöpselt hat, wären auch cool.
ich hatte ähnliche Schwierigkeiten und bin deshalb auf diesen Beitrag gestoßen. Bei mir fehlte "mmap", dann lief es

Schöne Grüße
Hanno
PS: Wenn Michael Oehlhof bereit wäre, wieder einmal ein aktuelles AMP4eCS zusammenzustellen, wäre das super. Da scheitert es aber vermutlich am "Sponsoring" auch von anderen

Event. frage ich einmal bei ihm nach, ob er wieder was machen würde. Oder die Infos/Daten, wie er das Paket zusammengestöpselt hat, wären auch cool.