Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
PHP Datenbankerweiterung mysql
Datenbankserver-Version 5.1.41
Installierte PHP-Version 5.3.1
safe_mode Deaktiviert
magic_quotes_gpc Deaktiviert
magic_quotes_runtime Deaktiviert
gpc_order
memory_limit 128M
max_execution_time 60
Deaktivierte Funktionen nichts deaktiviert
Gettext Erweiterung geladen
sql.safe_mode Deaktiviert
Errorlog:
Leer
Habe eine lokale Installation der RC2 unter Win2000 mit XAMPP 1.7.3 und wollte dort ein Plugin installieren. Also URL zum Plugin bzw. zu der install.php des Plugins eingegeben. Es erscheint wie gewünscht der Contenido-Login-Bildschirm. Jedoch nach dem Einloggen erscheint nicht der Installerbildschirm, sondern man wird ganz normal ins Backend eingeloggt.
Nachvollziehbar ist das Ganze mit der RC2 und z.B. dem AMR-Plugin.
Also hab ich mich nun die letzten Stunden hingesetzt und Bugtracking betrieben, wobei ich nun auf einen "eigentlich" blöden Fehler gestossen bin. Vergleicht man den Anmeldschirm mit einer unter Linux laufenden Installation, fällt einem (dann irgendwann) auf, das in der Formaktion einmal die URL zum Installer steht + der Contenido-Session, im Falle von XAMPP steht dort aber nur die Contenido-Session. Daher auch kein Aufruf des Installers, sondern der index-Datei des Contenido Backends.
Den Grund dafür findet man dann in der Funktion self_url() in der conlib/session.inc. Hier wird die globale Variable $PHP_SELF dazu genutzt die URL mit Query zusammen zu bauen. Leider gibt es diese globale Variable aber unter XAMPP (zumindest bei mir auf Win2000) nicht, was einem ein Blick auf das phpinfo()-File von XAMPP auch bestätigt.
Hier müßte stattdessen die ebenfalls globale Variable $_SERVER['SCRIPT_NAME'] zur Anwendung kommen.
Dazu habe ich nun in der conlib/session.inc die Funktion wie folgt geändert
Code: Alles auswählen
function self_url() {
global $PHP_SELF, $QUERY_STRING;
$sPhpSelf = (!isset($PHP_SELF) || empty($PHP_SELF))?$_SERVER['SCRIPT_NAME']:$PHP_SELF;
return $this->url($sPhpSelf.
((isset($QUERY_STRING) && ("" != $QUERY_STRING)) ? "?".$QUERY_STRING : ""));
}
Gruß aus Franken
Ortwin