otaris
Goto Top

Fehlerhafte Einstellungen in XAMPP unter Server 2008 R2

Einen wunderschönen guten sonnigen Tag zusammen,

ich hätte mal wieder ein Problem:

Wir haben uns Abteilungsintern ein WM Tippspiel im Internet gekauft www.tippimnetz.de
Das ist soweit fertig programmiert und hat folgende Systemvoraussetzungen:

eigener Webserver mit

php >=5.2 und aktivierter mail()-Funktion

mysql >=4.x


Ich würde dieses Tippspiel nun gerne auf unserem internen Server 2008 R2 installieren. Dazu habe ich einfach XAMPP installiert, eine mysql Datenbank angelegt und die mitgelieferte install.php ausgeführt, welche dann die benötigten Tabellen etc. automatisch erstellen soll.

Wenn ich das online auf 1und1 mache, klappt das auch problemlos (daher schließe ich einen Fehler in den Scripten aus), nur auf meinem XAMPP Server wird anstatt der Installationsroutine einfach nur der Quelltext der install.php angezeigt.
Auf den Ordner auf der Festplatte, wo XAMPP installiert ist, wurde für jeden Vollzugriff eingerichtet.

Hier nun meine Frage: Muss ich in XAMPP selbst noch weitere Einstellungen tätigen, damit der Quelltext ausgeführt anstatt nur angezeigt wird?
Ich habe auch andere Webserver für Windows probiert (WAMPP, Uniform, etc...) da habe ich dasselbe Problem.


Gruß
Otaris

Content-ID: 238625

Url: https://administrator.de/contentid/238625

Ausgedruckt am: 16.11.2024 um 22:11 Uhr

colinardo
Lösung colinardo 20.05.2014, aktualisiert am 21.05.2014 um 10:59:48 Uhr
Goto Top
Hallo Otaris,
wie hast du denn das File überhaupt aufgerufen ? Einfach nur im Explorer mit Doppelklick, dann wäre mir das Verhalten klar !
Du musst die Seite in deinem Browser aufrufen (Gestarteter mysql- und apache-Dienst natürlich vorausgesetzt):
http://localhost/tippspiel/install.php
Hier nun meine Frage: Muss ich in XAMPP selbst noch weitere Einstellungen tätigen, damit der Quelltext ausgeführt anstatt nur angezeigt wird?
Nein, wenn du dich an die einschlägigen Anleitungen zur Installation gehalten hast, nicht.

Grüße Uwe
Otaris
Otaris 21.05.2014 um 07:52:58 Uhr
Goto Top
Guten Morgen Uwe,

nein, ich habe das File nicht per Doppelklick aufgerufen, sondern die Adresse im Browser eingegeben.
Leider funktioniert es nicht wie gewünscht... Ist schon fast bisschen peinlich, wir sitzen hier in einer IT Abteilung haben schon mit vier Leuten alles mögliche ausprobiert, aber leider konnten wir bislang keinen Erfolg erzielen.

Hab halt einfach einen blanken Server 2008 installiert, da XAMPP drauf und gestartet. Mehr muss man ja eigentlich nicht machen... Das Script sollte dann ausgeführt werden, nur leider hängt es da irgendwo. Hab auch schon verschiedene Browser ausprobiert, daran lag es auch nicht.
colinardo
Lösung colinardo 21.05.2014 aktualisiert um 10:59:45 Uhr
Goto Top
was passiert wenn du dir selber mal eine PHP-Seite schreibst und diese aufrufst?
<?php
 phpinfo();
?>
Ansonsten würde mir hier noch einfallen den Handler zusätzlich in einer .htaccess anzugeben:
http://stackoverflow.com/questions/460589/extension-php5-does-not-parse ...
das sollte aber eigentlich bereits in der httpd-Config von XAMPP hinterlegt sein, aber ein Versuch kann nicht Schaden.

Grüße Uwe
Otaris
Otaris 21.05.2014 um 08:58:23 Uhr
Goto Top
Hallo Uwe,

lustigerweise funktioniert das. Die Version etc wird mir dann angezeigt.

Das hier ist das Script welches aufgerufen wird (ein Auszug davon)

 
<?
/* WM 2014 Tippspiel
 * install.php #_#14.0
 * (c) Thomas Nölkenbockhoff
 * mail@tippimnetz.de
 * Dieses Copyright darf nicht entfernt werden. */
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">  
<link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />";  

include("conf.php");  
include("funktion.php");  

$fehler = 0;
$text ="";  
$verz_gefunden = end(explode('/', dirname(!empty($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : !empty($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : str_replace('\\','/',__FILE__))));  
$verz_conf = end(explode('/', $pfad));  
$spielserver = $_SERVER["SERVER_NAME"];  

$verbindung = @mysql_connect("$sql_host", "$sql_db_user","$sql_db_pw")or die  
("<table class=\"rahmen\" width=\"300px\" align=\"center\"><tr><td>  
  <p align=\"center\"><img src=\"images/meldung_error.png\" border=\"0\"></p>  
  </td></tr>
  <tr><td><p align=\"center\">Connecting to <b>$sql_host</b> failed.</p>  
  </td></tr>
  <tr><td><p align=\"center\">Please check your configuration in file <b>conf.php</b>.</p>  
  </td></tr></table>");  
$database = @mysql_select_db("$sql_db") or die  
("<table class=\"rahmen\" width=\"300px\" align=\"center\"><tr><td>  
  <p align=\"center\"><img src=\"images/meldung_error.png\" border=\"0\">  
  </td></tr>
  <tr><td>
  <p align=\"center\">Database <b>$sql_db</b> does not exist.</p><br>  
  </td></tr>
  <tr><td>
  <p align=\"center\">Please check your configuration in file <b>conf.php</b>.</p>  
  </td></tr></table>");  
if($verz_gefunden != $verz_conf)
die
("<table class=\"rahmen\" width=\"300px\" align=\"center\"><tr><td>  
  <p align=\"center\"><img src=\"images/meldung_error.png\" border=\"0\">  
  </td></tr>
  <tr><td><p align=\"center\">The given foldername (<b>$verz_conf</b>) is not the same as found (<b>$verz_gefunden</b>) !</p>  
  </td></tr>
  <tr><td><p align=\"center\">Please check your configuration in file <b>conf.php</b>.</p>  
  </td></tr></table>");  

$sql_txt = mysql_get_server_info();
$sql_version = explode(".",$sql_txt);  
if($sql_version<5){
if(($sql_version==4)AND($sql_version[1]<2)) $text = $text . "<br>The found mySQL-SERVER-Version ($sql_txt) does not meet the system requirements (< 4.2)<br>";  
}

Da funktioniert der Connect zur mysql DB schon nicht. Wenn ich aber hingehe und den Teil mit dem mysql Connect aus dem Script rauskopiere, DANN funktioniert der Connect einwandfrei... Bei 1und1 online hat wie gesagt alles einwandfrei funktioniert, ohne das ich da was ändern musste (außer halt das Config File)

Hier die Ausgabe, die bei der obigen Install.php dann kommt:

"; include("conf.php"); include("funktion.php"); $fehler = 0; $text =""; $verz_gefunden = end(explode('/', dirname(!empty($_SERVER>>['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : !empty($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : str_replace('\\','/',__FILE__)))); >$verz_conf = end(explode('/', $pfad)); $spielserver = $_SERVER["SERVER_NAME"]; $verbindung = @mysql_connect("$sql_host", >"$sql_db_user","$sql_db_pw")or die ("

Connecting to $sql_host failed.

Please check your configuration in file conf.php.

"); $database = @mysql_select_db("$sql_db") or die ("

Database $sql_db does not exist.


Please check your configuration in file conf.php.

"); if($verz_gefunden != $verz_conf) die ("

The given foldername ($verz_conf) is not the same as found ($verz_gefunden) !

Please check your configuration in file conf.php.

"); $sql_txt = mysql_get_server_info(); $sql_version = explode(".",$sql_txt); if($sql_version<5){ if(($sql_version==4)AND($sql_version[1]<2)) >>$text = $text . "
The found mySQL-SERVER-Version ($sql_txt) does not meet the system requirements (< 4.2)
"; } if (strnatcmp(phpversion(),'5.2.0') < 0) $text = $text . "
The found PHP version does not meet the system requirements (< 5.2.0)
"; $result1 = mysql_query(" SELECT * FROM $db_mannschaft "); if($result1) $gefunden = "
" . $db_mannschaft . "
"; $result2 = mysql_query(" SELECT * FROM $db_spiel "); if($result2) $gefunden = $gefunden . $db_spiel . "
"; $result3 = mysql_query(" SELECT * FROM $db_user "); if($result3) $gefunden = $gefunden . $db_user . "
"; $result4 = mysql_query(" SELECT * FROM $db_shout "); if($result4) $gefunden = $gefunden . $db_shout . "
"; $result5 = mysql_query(" SELECT * FROM $db_conf "); if($result5) $gefunden = $gefunden . $db_conf . "
"; if(($result1) OR ($result2) OR ($result3) OR ($result4) OR ($result5)) $text = $text . "
Host: $sql_host
Database: $sql_db
Otaris
Otaris 21.05.2014 um 10:59:37 Uhr
Goto Top
Habe eine Lösung für das Problem gefunden!!!!!

In der php.ini habe ich folgendes geändert:

short_open_tag = Off (php.ini, Zeile 226)
Das habe ich auf ON gesetzt

und

register_long_arrays = Off
hab ich geändert auf
register_long_arrays = On
colinardo
colinardo 21.05.2014 aktualisiert um 11:07:51 Uhr
Goto Top
ja ja, immer diese faulen Entwickler... schreiben anstatt <?php ?> nur <? ?> in Ihre Scripte. face-smile

Danke für die Rückmeldung, war mir gerade auch aufgefallen. Aber XAMPP ist ja auch im "Uhrzustand" eigentlich nur zu Testzwecken, und nicht für einen Produktiv-Betrieb gedacht.

Grüße Uwe