Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PHP 4.4.9 und Apache 2.2 konfigurieren

2 views
Skip to first unread message

Alfred

unread,
Oct 8, 2008, 2:25:36 AM10/8/08
to
Hi Folks,

ich habe das PHP 4.4.9 Zip-Archiv in das Verzeichnis d:\php entpackt.
Auch die PATH-Umgebungsvariable enthält den Eintrag d:\php. Und wenn
ich PHP auf der Kommandozeile ausführe, läuft alles bestens, inklusive
Zugriff auf MySQL. Um den Apache 2.2.9 mit PHP zu verheiraten habe ich
folgende Einträge in der Datei [Apache-Home]/conf/httpd.conf
vorgenommen:

ScriptAlias /php/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

Lauf Recherche im Internet genügt das völlig - aber es tut nicht.

Denn wenn ich eine PHP-Seite ausführen will, wie z.B. phpinfo.php:
<?php phpinfo(); ?>
erhalte ich die Fehlermeldung:
You don't have permission to access /php/php.exe/phpinfo.php on this server.

Mein OS ist Windows XP, also scheiden chmod-Hinweise aus.
Was muss ich noch alles anstellen?

Alfred

Joerg Behrens

unread,
Oct 8, 2008, 2:30:27 AM10/8/08
to
Alfred schrieb:

> Hi Folks,
>
> ich habe das PHP 4.4.9 Zip-Archiv in das Verzeichnis d:\php entpackt.
> Auch die PATH-Umgebungsvariable enthält den Eintrag d:\php. Und wenn
> ich PHP auf der Kommandozeile ausführe, läuft alles bestens, inklusive
> Zugriff auf MySQL. Um den Apache 2.2.9 mit PHP zu verheiraten habe ich
> folgende Einträge in der Datei [Apache-Home]/conf/httpd.conf
> vorgenommen:
>
> ScriptAlias /php/ "d:/php/"
> AddType application/x-httpd-php .php
> Action application/x-httpd-php "/php/php.exe"
>
> Lauf Recherche im Internet genügt das völlig - aber es tut nicht.

Warum liest du nicht die beiliegende Installationsanweisung welche PHP
mitbringt?

> Denn wenn ich eine PHP-Seite ausführen will, wie z.B. phpinfo.php:
> <?php phpinfo(); ?>
> erhalte ich die Fehlermeldung:
> You don't have permission to access /php/php.exe/phpinfo.php on this
> server.

Koennte es sein das das du CLI PHP aufrufst aber eigentlich CGI PHP
haben wolltest?

- Warum verwendest du nicht PHP als Modul?
- Warum PHP 4.x?

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Alfred

unread,
Oct 8, 2008, 2:32:53 AM10/8/08
to
Alfred wrote:
> ...

> Denn wenn ich eine PHP-Seite ausführen will, wie z.B. phpinfo.php:
> <?php phpinfo(); ?>
> erhalte ich die Fehlermeldung:
> You don't have permission to access /php/php.exe/phpinfo.php on this
> server.
>
> Mein OS ist Windows XP, also scheiden chmod-Hinweise aus.
> Was muss ich noch alles anstellen?

Okay es hat sich erledigt. Es fehlte folgendes in der httpg.conf:
<Directory "D:/php">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Alfred

Alfred

unread,
Oct 8, 2008, 2:44:36 AM10/8/08
to
Joerg Behrens wrote:
> ...

> Koennte es sein das das du CLI PHP aufrufst aber eigentlich CGI PHP
> haben wolltest?
>
> - Warum verwendest du nicht PHP als Modul?

Weil das Laden als Modul nicht funktioniert. Denn trotz:
LoadModule php4_module "d:/php/php4apache2.dll"
AddType application/x-httpd-php .php

kommt die Fehlermeldung:
httpd.exe: Syntax error on line 493 of D:/Programme/Apache Software
Foundation/Apache2.2/conf/httpd.conf: Cannot load D:/php/php4apache2.dll
into server: Das angegebene Modul wurde nicht gefunden.

Und das obwohl php4apache2.dll im Verzeichnis d:/php liegt.

Alfred

Joerg Behrens

unread,
Oct 8, 2008, 2:57:13 AM10/8/08
to
Alfred schrieb:

> Joerg Behrens wrote:
>> ...
>> Koennte es sein das das du CLI PHP aufrufst aber eigentlich CGI PHP
>> haben wolltest?
>>
>> - Warum verwendest du nicht PHP als Modul?
>
> Weil das Laden als Modul nicht funktioniert. Denn trotz:
> LoadModule php4_module "d:/php/php4apache2.dll"

Bei PHP5 gibt es fuer Apache2.2 auch eine dazu passende Datei
"php5apache2_2.dll". Da nun PHP4 nicht mehr gepflegt wird, die Frage ob
der Support fuer Apache2.2 und PHP als Modul jemals vorhanden war oder
fehlt in dem Archiv nur die Datei?

Alfred

unread,
Oct 8, 2008, 3:58:02 AM10/8/08
to
Joerg Behrens wrote:
> Alfred schrieb:

>>
>> Weil das Laden als Modul nicht funktioniert. Denn trotz:
>> LoadModule php4_module "d:/php/php4apache2.dll"
>
> Bei PHP5 gibt es fuer Apache2.2 auch eine dazu passende Datei
> "php5apache2_2.dll". Da nun PHP4 nicht mehr gepflegt wird, die Frage ob
> der Support fuer Apache2.2 und PHP als Modul jemals vorhanden war oder
> fehlt in dem Archiv nur die Datei?

Eigentlich sollte es funktionieren, siehe auch:
http://www.papaya-cms.com/documentation/handbuch/apb.html

Tut es aber nicht und wenn man nach 'LoadModule php4_module'
googelt, erhält man eine Menge Links mit Problemmeldungen
dazu - aber die wirklich funktionierende Lösung fehlt bisher.

Ich bleibe also bei der ScriptAlias-Variante, obwohl ich auch
lieber das Modul geladen hätte. Bei PHP 5.2.6 und Apache 2.2.9
ist es mir nicht gelungen, die MySQL-Bibliotheken korrekt
einzubinden, ich benutze MySQL 4.0.20a und ein Update ist nicht
vorgesehen. Auch da hab ich das Netz durchsucht, konnte aber
keine Lösung finden, die funktioniert hätte.

Alfred

Michael Fesser

unread,
Oct 8, 2008, 3:19:01 PM10/8/08
to
.oO(Alfred)

>Ich bleibe also bei der ScriptAlias-Variante, obwohl ich auch
>lieber das Modul geladen hätte. Bei PHP 5.2.6 und Apache 2.2.9
>ist es mir nicht gelungen, die MySQL-Bibliotheken korrekt
>einzubinden, ich benutze MySQL 4.0.20a und ein Update ist nicht
>vorgesehen. Auch da hab ich das Netz durchsucht, konnte aber
>keine Lösung finden, die funktioniert hätte.

Was genau ist denn da das Problem?

Nur noch mal zur Verdeutlichung: PHP 4 ist nicht nur uralt, sondern
seit August diesen Jahres auch ohne jeglichen Support. Es wird _keine_
Updates mehr dafür geben!

Bring Dein PHP 5 zum Laufen, es ist höchste Zeit dafür.

Micha

Alfred

unread,
Oct 9, 2008, 3:03:57 AM10/9/08
to
Michael Fesser wrote:
>
> Was genau ist denn da das Problem?

Schrub ich doch - das Verheiraten von MySQL 4.0.20 und PHP 5.2.6.
Jetzt komm mir nicht mit MySQL 6,7,8,9,...

> Nur noch mal zur Verdeutlichung: PHP 4 ist nicht nur uralt, sondern
> seit August diesen Jahres auch ohne jeglichen Support. Es wird _keine_
> Updates mehr dafür geben!

Ist mir bekannt. Uralt ist btw was anderes.

> Bring Dein PHP 5 zum Laufen, es ist höchste Zeit dafür.

Bleib cool - ich beschäftige mich mit PHP seit 1 Woche.
Musste aber schon feststellen, dass es ein Krampf ist,
verschiedene DBMS anzusprechen, dieweil es keine offene
Schnittstelle dafür gibt, z.B. analog zu JDBC.

Alfred

Michael Fesser

unread,
Oct 9, 2008, 1:14:43 PM10/9/08
to
.oO(Alfred)

>Michael Fesser wrote:
>>
>> Was genau ist denn da das Problem?
>
>Schrub ich doch - das Verheiraten von MySQL 4.0.20 und PHP 5.2.6.

Das ist keine wirklich hilfreiche Problembeschreibung.

>Jetzt komm mir nicht mit MySQL 6,7,8,9,...

Nö, aber ggf. 5 oder wenigstens 4.1. Anderseits sehe ich kein wirkliches
Problem darin, PHP 5 mit MySQL 4 zu verkuppeln. Ich wüßte nicht, woran
das scheitern sollte. Theoretisch dürfte selbst MySQL 3 möglich sein,
auch wenn man das wohl nicht wirklich will.

>> Nur noch mal zur Verdeutlichung: PHP 4 ist nicht nur uralt, sondern
>> seit August diesen Jahres auch ohne jeglichen Support. Es wird _keine_
>> Updates mehr dafür geben!
>
>Ist mir bekannt. Uralt ist btw was anderes.

Bei Software können bereits einige Jahre als uralt gelten. PHP 5 ist nun
schon seit _etlichen_ Jahren verfügbar. Etwa seit der gleichen Zeit kann
PHP 4 völlig zu recht als veraltet gelten. Und da mittlerweile jeglicher
Support eingestellt wurde, ist es faktisch tot.

>> Bring Dein PHP 5 zum Laufen, es ist höchste Zeit dafür.
>
>Bleib cool - ich beschäftige mich mit PHP seit 1 Woche.

Dann solltest Du richtig anfangen, mit einem vernünftigen, aktuellen
System und einer sauberen Konfiguration. PHP 4 ist in dieser Hinsicht
doch noch ziemlich murksig.

>Musste aber schon feststellen, dass es ein Krampf ist,
>verschiedene DBMS anzusprechen, dieweil es keine offene
>Schnittstelle dafür gibt, z.B. analog zu JDBC.

Es gibt PDO.

Micha

Joerg Behrens

unread,
Oct 9, 2008, 4:34:54 PM10/9/08
to
Alfred schrieb:
..

> Ich bleibe also bei der ScriptAlias-Variante, obwohl ich auch
> lieber das Modul geladen hätte. Bei PHP 5.2.6 und Apache 2.2.9
> ist es mir nicht gelungen, die MySQL-Bibliotheken korrekt
> einzubinden, ich benutze MySQL 4.0.20a und ein Update ist nicht
> vorgesehen. Auch da hab ich das Netz durchsucht, konnte aber
> keine Lösung finden, die funktioniert hätte.

Es ist kein Problem mit einem neueren Client, der welcher bei PHPs
ext/mysql dabei ist, auf einen älteren MySQL Server zugreifen. Laeuft
alles auf einem Host must du nur aufpassen das die *.dll nicht durch
einander kommen. Am besten verbleiben die im Verzeichnis der jeweiligen
Anwendung bzw. fuer jede Anwendung einen eigenen %PATH%.
Solltest du aber etwas nach system32 kopiert oder verschoben haben kann
ich mir allerdings vorstellen das es zu Problemen kommt.

Gruss
Joerg

Ralph 'rkhb' Bauer

unread,
Oct 10, 2008, 1:16:31 PM10/10/08
to
Alfred schrieb:

> kommt die Fehlermeldung:
> httpd.exe: Syntax error on line 493 of D:/Programme/Apache Software
> Foundation/Apache2.2/conf/httpd.conf: Cannot load D:/php/php4apache2.dll
> into server: Das angegebene Modul wurde nicht gefunden.
>
> Und das obwohl php4apache2.dll im Verzeichnis d:/php liegt.

Das könnte daran liegen, dass die php(3|4|5|6|7)apache2.dll noch weitere
DLL's nachladen will, die sie nicht findet. Um das nachzuprüfen, kannst Du
mal alle 'extension='-Einträge in der php.ini auskommentieren. Wenn es dann
funktioniert, dann kopiere alle DLL's aus dem /php/dlls-Verzeichnis in das
/php-Verzeichnis und probiere es noch einmal.

viele grüße
ralph

Alfred

unread,
Oct 15, 2008, 2:49:51 AM10/15/08
to
Joerg Behrens wrote:
>
> ...
> Solltest du aber etwas nach system32 kopiert oder verschoben haben...

Wer macht denn sowas?

Alfred

Alfred

unread,
Oct 15, 2008, 2:53:21 AM10/15/08
to
Ralph 'rkhb' Bauer wrote:
>
> Das könnte daran liegen, dass die php(3|4|5|6|7)apache2.dll noch weitere
> DLL's nachladen will, die sie nicht findet. Um das nachzuprüfen, kannst
> Du mal alle 'extension='-Einträge in der php.ini auskommentieren. Wenn
> es dann funktioniert, dann kopiere alle DLL's aus dem
> /php/dlls-Verzeichnis in das /php-Verzeichnis und probiere es noch einmal.

Alle dll's aus /dlls und /sapi befinden sich bereits
im Verzeichnis d:/php - so wie es empfohlen wird. Bleibt
natürlich dann die Frage wozu erst Unterverzeichnisse, wenn
man dann alles verschieben soll...

Alfred

Ralph 'rkhb' Bauer

unread,
Oct 15, 2008, 6:26:33 AM10/15/08
to
Alfred schrieb:

Die php4apache2.dll benötigt u. a. noch folgende DLL's:

(apache/bin/) libhttpd.dll
(apache/bin/) libapr.dll
(apache/bin/) libaprutil.dll

Wenn Du nun in Dein Apache-2.2/bin-Verzeichnis guckst, wirst Du diese
Apache-DLL's nicht finden. Offensichtlich kann diese DLL nicht mit Apache
2.2 zusammenarbeiten. Willst Du also unbedingt mit PHP4 als Modul arbeiten,
dann musst Dir noch Apache 2.0 holen und installieren. Oder PHP4 als CGI
laufen lassen.

viele grüße
ralph

Alfred

unread,
Oct 21, 2008, 12:37:09 AM10/21/08
to
Ralph 'rkhb' Bauer wrote:
>
> Die php4apache2.dll benötigt u. a. noch folgende DLL's:
>
> (apache/bin/) libhttpd.dll
> (apache/bin/) libapr.dll
> (apache/bin/) libaprutil.dll
>
> Wenn Du nun in Dein Apache-2.2/bin-Verzeichnis guckst, wirst Du diese
> Apache-DLL's nicht finden. Offensichtlich kann diese DLL nicht mit
> Apache 2.2 zusammenarbeiten. Willst Du also unbedingt mit PHP4 als Modul
> arbeiten, dann musst Dir noch Apache 2.0 holen und installieren. Oder
> PHP4 als CGI laufen lassen.

Danke für diesen konkreten Tip(p).
Alfred

0 new messages