PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kein php3 Script läuft unter php4


gueni
16.02.2002, 11:53:47
Hallo! Ich habe eine Suse 7.3 Installation (Apache, php4) und erhalte nach aufruf folgenden Scriptes
***********
<? // mysql_func.php3
/* Funktionen für eine einfache Datenbank-Schnittstelle */
/* ---------------------------------------------------- */
function connect() {
global $MySQL_Host, $MySQL_User, $MySQL_Passw;
if (! $linkid=mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw")) {
echo "Die Verbindung zu ",$MySQL_Host," konnte nicht hergestellt werden<br>";
exit;
........


***********
die Meldung

Fatal error: Cannot redeclare connect() in /usr/local/httpd/htdocs/maritsch/mysql_func.php3 on line 4
***********
Der Compatibilitätsmodus ist aktiviert. Aber selbst wenn man ein php3 direkt aufruft sieht man nur den Code oder es möchte downgeloadet werden.

Kann mir wer sagen wo der Hund begraben liegt ?

Danke Günther

Matthias
16.02.2002, 12:05:38
Schau mal in die httpd.conf und suche folgenden Eintrag:

AddType application/x-httpd-php .php .php3 .php4

und

DirectoryIndex index.html index.php3 index.php index.php4


Wenn nicht trage die .php3 Einträge nach.

Matthias

gueni
17.02.2002, 12:47:02
Danke für die rasche Hilfe, aber es hat leider nichts an der Situation verbessert. php3 werden immer noch nicht korrekt wiedergegeben.
Allerdings hab ich nur die mod_php4 installiert (sollte aber abwärtskompatibel sein).
grüße Günther

Matthias
17.02.2002, 14:00:03
Wenn du aber jetzt ein .php3 script aufrufst, wird dann immer noch der Quellcode angezeigt??

gueni
17.02.2002, 14:13:35
Ich pack es auch nich aber es ist leider so. Die selben Fehlermeldungen wie vorher, und bei einigen Scripts wird der Code angezeigt. Ich versuch mal das Modul mod_php3 auch noch zu installieren. Linux meint zwar es kollidiert mit mod_php4 aber was soll`s einen Versuch ist es wert.

Damir
17.02.2002, 17:06:44
Hi guenni,
zu dem Fehler:
***********
die Meldung

Fatal error: Cannot redeclare connect() in /usr/local/httpd/htdocs/maritsch/mysql_func.php3 on line 4
***********

Dieses kommt oftmals zum tragen, wenn man 2 mal eine gleiche Funktion includieren will - schau mal in Deinen Skripten, ob dieses der Fall ist. Falls ja, so nutze besser require_once oder include_once oder optimiere Deinen Code.

Wegen den PHP3 Dateien:
Matthias hatte Dir ja schon die Moeglichkeiten aufgezeigt.
Welchen Indianer hast Du?????
Hatte mal unter Windows so ein aehnliches Problem. Da habe ich einfach den Aufruf des PHP-Modules (LoadModules) an eine spaetere Position gestellt. Danach war der Fehler weg.
Bye Damir

gueni
18.02.2002, 17:27:37
Servus
Die Version vom Indianer: Apache1.3.20, PHP 4.0.6 .
Da der Fehler bereits in der ersten Zeile auftritt liegt es denke ich nicht an oftmaligen Aufrufen zumal das selbe Script auf einem anderen Server klaglos läuft.
Macht es sinn, wenn ich dir die phpinfo() zusende?
Danke jedenfalls