Apache und/oder PHP-Problem ?

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Apache und/oder PHP-Problem ?

Postby Knappe » 07. December 2004 11:38

Setze aktuelle xampp-Distribution unter WinNT, mit PHP 5 ein.

Läuft eigentlich auch alles problemlos, bis auf :

Code: Select all
$my_root_path ="./";
$dir = dir($my_root_path . ".");
while (false !== ($file = readdir ($dir->handle)))
{
   if( preg_match("/^admin_.*?\." . $phpEx . "$/", $file) )
    {
      include($file);
    }
}


Egal was in "$my_root_path" enthalten ist, IMMER erhalte ich die Pfad "?:\xampp\apache" !!!!!!!!!!!!!

Und das, obwohl ich folgende VHOST-Config benutze :

Code: Select all
  DocumentRoot "D:/MyInternet/MyDomain/MyOffice"
 <Directory "D:/MyInternet/MyDomain/MyOffice/">
    DirectoryIndex index.php
    Options Indexes FollowSymLinks MultiViews Includes ExecCGI
   AddType text/html .shtml
        AddHandler server-parsed .shtml
        AddHandler cgi-script .cgi .pl    Options +Indexes
    Order Deny,Allow
    AllowOverride None

    AuthName "development"
    AuthType Basic
    AuthUserFile "D:/MyInternet/MyDomain/MyUsers"
    Require valid-user
 </Directory>


Auch mit der Klausel $dir = opendir($my_root_path . "."); oder auch @opendir('.') oder,oder, oder -> das Ergebnis ist immer das Gleiche.

Ich habe auch schon die PHP.INI durchsucht, aber keinen Hinweis auf eine Misskonfiguration gefunden.

Kann mir hier irgend jemand weiterhelfen ?
Knappe
 
Posts: 114
Joined: 18. November 2004 17:40

Postby Wiedmann » 07. December 2004 11:49

Setze aktuelle xampp-Distribution unter WinNT, mit PHP 5 ein.

Du meinst NT4?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Knappe » 07. December 2004 12:28

Ja, mit SP 6.x
Knappe
 
Posts: 114
Joined: 18. November 2004 17:40

Postby Wiedmann » 07. December 2004 12:31

PHP hat da einen Bug wenn es unter NT4 läuft. Du kannst dort in einem VHost oder in einem Alias kein dir() mit relativen Pfadangaben machen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Knappe » 07. December 2004 13:46

Das ist aber "bullshit", da viele PHP-Anwendungen genau diese Routine zum Auslesen / Bearbeiten von Directories benutzen !

Den einzigen work-around den ich gefunden habe lautet :

Code: Select all
$dir = dir(getcwd() . "\.");
while (false !== ($file = readdir ($dir->handle)))
{
   if( preg_match("/^admin_.*?\." . $phpEx . "$/", $file) )
     {
       include($file);   }
}

@closedir($dir_>handle);


.. also erst einmal feststellen, in welchem Verzeichnis das aktzuelle Script ist.

Hoffe jemand hat noch bessere Ideen ?
Knappe
 
Posts: 114
Joined: 18. November 2004 17:40

Postby Wiedmann » 07. December 2004 13:54

Das ist aber "bullshit", da viele PHP-Anwendungen genau diese Routine zum Auslesen / Bearbeiten von Directories benutzen !

Diese Routine ist auch soweit i.O. Das Problem ist hier nur die dir() Funktion.

Naja. Wenn du etwas mehr Erfahrung hast, wirst du merken das es sich meist empfiehlt mit kompletten Pfaden zu arbeiten. Es gibt auch generell Funktionen die nicht mit relativen können. Wenn du eh vom DocumentRoot aus gehst, kannst du auch die entsprechende globale Variable nehmen.
Last edited by Wiedmann on 07. December 2004 22:30, edited 1 time in total.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Knappe » 07. December 2004 20:45

Code: Select all
Naja. Wenn du etwas mehr Erfahrung hast, wirst du merken das es sich meist empfiehlt mit kompletten Pfaden zu arbeiten.


Vielen Dank, ich arbeite schon immer damit, aber eben viele andere (Fremd-)Anwendungen nicht (und da muss man eben manuell "ran").

In diesem Fall handelt es sich übrigens um die Anpassung der phpBB-Version 2.0.11. Sieht so aus, als wenn das Apachefriends-Forum auch damit arbeitet ?!
Knappe
 
Posts: 114
Joined: 18. November 2004 17:40

Postby Wiedmann » 07. December 2004 22:55

In diesem Fall handelt es sich übrigens um die Anpassung der phpBB-Version 2.0.11. Sieht so aus, als wenn das Apachefriends-Forum auch damit arbeitet ?!

Yup. Für die Betreiber des AF - Forums trifft das, im Gegensatz zu mir, zu ;-)

Dein Codeausschnitt ist zwar auch schon nicht mehr orginal phpBB, aber so wie er im Orginal 2.0.11 vorkommt, gehts unter NT4 auch nicht. Zeigt auch wieder, dass sich auch bekannte Projekte das ausführliche Testen unter manch altem OS einsparen.

Übrigends hat hier auch phpMyAdmin ein Problem :-) Die setzten ein relatives chdir() ein um in das Verzeichnis für das Stylesheet zu kommen. Was aber in der Hauptsache nur an der falschen Schriftart ausfällt.

Unverständlich ist eigentlich nur, warum es überhaupt unter NT4 dieses Problem immernoch gibt. Das ist ja nicht erst seit gestern bekannt...
(Bei den Funktionen die sonst noch einen Fullpath benötiigen ist das wenigstens unter allen OS'se so und auch dokumentiert.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Knappe » 07. December 2004 23:26

Nur der Vollständigkeit halber :

Code: Select all
Dein Codeausschnitt ist zwar auch schon nicht mehr orginal phpBB


Ich habe hier keinen Original-Code gepostet, sondern nur die "Routine" dargestellt (ich möchte halt niemanden beschämen, insbesondere nicht die Entwickler)

Wer der Original-Code, den Bugfix UND den zugehörigen Thread lesen will : http://www.phpbb.com/phpBB/viewtopic.php?t=244907&highlight=

Trotzdem wäre an dieser Stelle interessant (vor allem, BEVOR ich darauf stosse und wieder "längere Zeit suchen muss"):
Welche Bugs sind für PHP5 bekannt UND wo gibt es Informationen (in www.php.net nichts gefunden) für work-arounds ?
Knappe
 
Posts: 114
Joined: 18. November 2004 17:40


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 33 guests