Parser-Probleme mit PHP und Apache

lapared

Mitglied
Hallo zusammen!

Ich habe mir den aktuellen Apache und das PHP-zip Paket auf meinem
Rechner eingerichtet.

Dabei bin ich einer Anleitung aus meiner Schule gefolgt und es hat soweit alles bestens geklappt.

Ich kann im Browser über localhost/entwicklungsumgebung/index.html wunderbar auf die html Dateien zugreifen. Wenn ich allerdings eine PHP Datei öffne wird mir nur der PHP Quellcode angezeigt.

Ich habe hier schon im Forum, bei Google, bei Apache und bei PHP gesucht aber leider nix gefunden.

Hier mal die wichtigen Einträge aus der httpd.conf :
ScriptAlias "c:\php4\"
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 "c:\php4\php.exe"


und hier die Einträge aus der php.ini:
error_reporting = E_ALL
display_errors = on
doc_root = c:\apache\htdocs
extension_dir = c:\php4\extensions\


Ansonsten scheint alles zu passen, nur dass mir der Parser nicht anspringt.

Über hilfe würde ich mich freuen,
Danke schonmal im vorraus,

MfG

pared.
 
lapared hat gesagt.:
Hier mal die wichtigen Einträge aus der httpd.conf :
ScriptAlias "c:\php4\"
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 "c:\php4\php.exe"

Wie sehen denn die Endungen Deiner php-Dateien aus? .php oder .php4
Wenn ersteres dann änder mal die Zeile so ab:

AddType application/x-httpd-php4 .php4 .php
 
So, hat etwas gedauert, aber ja ich hatte ihn neu gestartet und jetzt kommt folgende Browser-Fehlermeldung:

Bad Request
Your browser sent a request that this server could not understand.

Invalid URI in request POST /pflicht/htmldocs/test.php4 HTTP/1.1


Komisch komisch das ganze...
 
also:

dei php-Datei wird von eintragen.html aufgerufen:

eintragen.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>Pflichtübung</title>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link href="../css/layout.css" type="text/css" rel="stylesheet">
<link href="../css/formulare.css" type="text/css" rel="stylesheet">
</head>

<body>
<div class="header">PHP Praxistest</div>

<div id="Content">
<h1>G&auml;stebuch</h1>

<form method="post" action="test.php">
<table class="infoTable" cellpadding="0" cellspacing="0" border="0" width="600">
<caption>Ins G&auml;stebuch eintragen (* = sind auszuf&uuml;llen)</caption>
<colgroup>
<col class="infoLabel" width="150">
<col class="infoData" width="450">
</colgroup>
<tbody>
<tr>
<td>Name *</td>
<td><input type="text" name="Name" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="Email" /></td>
</tr>
<tr>
<td>Ort</td>
<td><input type="text" name="Ort" /></td>
</tr>
<tr>
<td>Titel *</td>
<td><input type="text" name="Titel" /></td>
</tr>
<tr>
<td valign="top">Text *</td>
<td><textarea rows="7" cols="50" name="Text" ></textarea></td>
</tr>
</tbody>
</table>

<div align="right"><input value="Eintragen" class="button" name="Eintragen" type="submit">
<input value="Vorschau" class="button" name="Vorschau" type="submit"></div>
</form>
</div>
</body></html>


test.php:
<?php

$test = $_POST["Name"];

print $test;

?>

ich denke nicht das es daran liegt, da es auf einem anderen rechner läuft...
ich denke, dass der fehler in der httpd.conf ist...
hier nochmal die neue Version:
ScriptAlias /php4/ "c:\php4\"
AddType application/x-httpd-php4 .php4 .php
Action application/x-httpd-php4 "c:\php4\php.exe"


ich habe es jetzt echt schon hin und her versucht.... aber es läuft leider nicht...
 
und wenn ich die Default .conf vom Apache nehm kommt folgender Fehler:


Method Not Allowed
The requested method POST is not allowed for the URL /pflicht/htmldocs/test.php.
 
Bekommt Ihr in der Schule wirklich die Aufgabe PHP als CGI-Binary zu installieren? (*kopfschüttel*)

Der Method not allowed Fehler sollte ein Konfigurationsproblem sein. Ist es denn überhaupt möglich php-Scripte aufzurufen? Geht das klassische 'Hallo Welt' Script?

PHP:
<?php
echo "Hallo Welt";
?>

Ich empfehle PHP als Modul einzubinden (php4apache.dll)

Code:
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 "c:\php4\php.exe"

durch:

Code:
LoadModule php4_module c:/php4/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php

Die Pfade sind evtl. anzupassen - ferner braucht man natürlich auch das richtige PHP-Paket.
 
Und zu dem Problem mit der CGI Version:
Code:
ScriptAlias /php4/ "c:\php4\"
AddType application/x-httpd-php4 .php4 .php
Action application/x-httpd-php4 "c:\php4\php.exe"
Soweit ich mich an Apache unter Windows erinnere, musst du das ScriptAlias auch benutzen (was in deiner httpd.conf nicht der Fall ist...).

Also so:
Code:
ScriptAlias /php4dir/ "C:\php4\"
Action application/x-httpd-php4 .php .php4
Action application/x-httpd-php4 "/php4dir/php.exe"
Du solltest aber statt php4dir noch ein etwas komplizierteres Alias nehmen, da sonst schnell eine Sicherheitsluecke entsteht (http://localhost/php4dir/).
 

Neue Beiträge

Zurück