stonedsoul
Goto Top

Counter-Script funktioniert nicht

Hi, ich hab auf http://www.darin.ch/?top=tools&sub=tools/tools mir den Counter 1.00 gedownloadet und auch alles so gemacht, wie es in der Anleitung steht.

Ich habe die .inc Dateien meiner Meinung nach richtig angepasst. (Dort wird der Pfad der Dateien und das Layout und sowas eingestellt.)

Es kommt nun folgender Fehler:

 Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/htdocs/counter/counter_1.dat) is not within the allowed path(s): (/srv/www/httpd/phost/h/de/pytalhost/hannibal/web/:/srv/www/httpd/phost/h/de/pytalhost/hannibal/tmp/:/srv/www/httpd/phost/h/de/pytalhost/hannibal/ses/) in /srv/www/httpd/phost/h/de/pytalhost/hannibal/web/counter/counter.php on line 18
E R R O R

/htdocs/counter/counter_1.dat

The file is missing. Please you provide it manually.
Die Datei ist nicht vorhanden. Bitte erstellen Sie sie manuell. 

Diese Datei ist allerdings vorhanden! Ich glaube das es ein Problem gibt mit dem Pfad der Datei. Dieser wird folgendermasen bestimmt:

$http_pfad = $domain."/".$verzeichnis."/images/"; // HTTP-Pfad der Countergrafiken  
$docroot = $_SERVER['DOCUMENT_ROOT']; // Rootverzeichnis  
$counterdocs = $docroot."/".$verzeichnis; // Counterverzeichnis  
$counterfile = $counterdocs."/".$counter."_".$cid.".dat"; // Datei für Speicherung des Counters  
$ipfile = $counterdocs."/".$ip."_".$cid.".dat"; // Datei für Speicherung der IP-Adressen  
$logfile = $counterdocs."/".$log."_".$cid.".dat"; // Datei für Speicherung der Log-Daten  
if(isset($bt)){$blocktime = $bt;}else{$blocktime = 0;} // IP Reload-Sperre in Minuten
if(isset($clog)){$clog = $clog;}else{$clog = 0;} // Logfile schreiben
$ip = getenv ("REMOTE_ADDR"); // IP-Adresse des Users  
setlocale (LC_TIME, "german"); // Datumsformat definieren  
$last = strftime ("d. B Y - H:M"); // Aktuelle Zeit   

Ich versteh leider nicht allzuviel PHP. Ich hoffe, dass jemandem dazu was schlaues einfällt. Danke!

Content-ID: 58893

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

Ausgedruckt am: 16.11.2024 um 03:11 Uhr

EvilMoe
EvilMoe 13.05.2007 um 13:43:49 Uhr
Goto Top
existiert die datei "counter_1.dat" im verzeichnis "/htdocs/counter/" ? Wenn nicht erstell eine einfache leere textdatei und benenn sie um und lade sie in das verzeichnis

edit:
ist die variable $verzeichnis definiert?
Dani
Dani 13.05.2007 um 13:52:52 Uhr
Goto Top
Hi!
In htdocs/counter" sucht er die Datei. Darauf hat der User kein Zugriff. Denn er sagt ihm ja, in welche Verzeichnisse er Zugriff hat.
(/htdocs/counter/counter_1.dat) is not within the allowed path(s):
/srv/www/httpd/phost/h/de/pytalhost/hannibal/web/:/srv/www/httpd/phost/h/de/pytalhost/
hannibal/tmp/:/srv/www/httpd/phost/h/de/pytalhost/hannibal/ses/)
in /srv/www/httpd/phost/h/de/pytalhost/hannibal/web/counter/counter.php on line 18


Gruß
Dani
StonedSoul
StonedSoul 13.05.2007 um 14:22:59 Uhr
Goto Top
okay, und wie änder ich das so, dass er zugriff hat?

Ich auch gar kein Verzeichnis mit dem Namen htdocs.... In der Anleitung steht kein Wort davon...
$docroot = $_SERVER['DOCUMENT_ROOT']; // Rootverzeichnis

Hier kommt dieses htdocs her. Ich weiß aber nicht wieso.
Dani
Dani 13.05.2007 um 16:06:47 Uhr
Goto Top
Hi!
Lege die Datei einfach hier ab: /srv/www/httpd/phost/h/de/pytalhost/hannibal/web/

Danach änderst du die Konfigzeile auch noch ab:
...
$docroot = "srv/www/httpd/phost/h/de/pytalhost/hannibal"; // Rootverzeichnis  
....
Aber wo wird die Vari "$verzeichnis" festgelegt?? Die ist nämlich auch noch wichtig!


Gruß
Dani
StonedSoul
StonedSoul 13.05.2007 um 22:45:00 Uhr
Goto Top
was genau ist dieses Rootverzeichnis??
Ich hab alles auf der Domain hannibal.pytalhost.de und dort hab ich einen Ordner counter gemacht....mehr nicht. Wozu soll ich all die Verzeichnisse machen??? Da is doch was falsch....
die Variable $verzeichnis ist definiert mit "counter". So wie es in der Anleitung steht.

Kann vllt irgendjmd dieses Script mal installieren und sagen ob es funktioniert??? Ich zweifel da irgendwie dran...

Was ist : $_SERVER['DOCUMENT_ROOT'] ??? Was macht das genau?
Dani
Dani 14.05.2007 um 07:41:19 Uhr
Goto Top
Moin,

was genau ist dieses Rootverzeichnis??
Was ist : $_SERVER['DOCUMENT_ROOT'] ??? Was macht das genau?
Diese Variable ist eine festdefinierte von PHP. Daran kannst du nichts ändern.

Wozu soll ich all die Verzeichnisse machen??? Da is doch was falsch....
Die Verzeichnisse existieren bereits!

Sieht so aus, als müsste man die Konfig für deinen Fall ein bisschen überarbeiten.
Probier es mal so:
....
$docroot = $_SERVER['DOCUMENT_ROOT']; // Rootverzeichnis  
....
Leider habe ich hier keine Möglichkeit, dass so ohne weiteres testen. face-sad


Gruß
Dani
StonedSoul
StonedSoul 14.05.2007 um 18:20:53 Uhr
Goto Top
axo sorry, hab ich vegessen zu schreiben.
$docroot = $_SERVER['DOCUMENT_ROOT']; // Rootverzeichnis
das steht schon in der config. Und das fnktioniert nicht. da kommen diese komischen Ordner zustande....
Dani
Dani 14.05.2007 um 18:31:25 Uhr
Goto Top
Hi!
Ich kann dir nicht folgen. Habe eben mal selber den Counter heruntergeladen und nach 2 Minuten lief es. :-P

Also ich habe legendlich eine Zeile in config.inc hinzugefügt.
...
$cid="1";  
....
$doc_root=".";  
...
Somit hat es bei auch schon funktioniert.


Gruß
Dani
StonedSoul
StonedSoul 14.05.2007 um 19:03:09 Uhr
Goto Top
ey, ich komm mir schon bissl blöd vor...Der Counter regt mich auf. Niemand kann mir den Fehler sagen...
Kannst du mir vllt alles so, wie s geht, per Mail zuschicken? Also alles mit Ordnern und gescheiden Confics un Dateien, wo ich grad noch meine Inetadresse eingeben muss und dann hochladen muss.
Wenns zuviel verlangt is, is okay, dann lass es.
Trotzdem thx bis jetzt...ich bin am Verzweifeln..
masterG
masterG 18.06.2007 um 19:10:13 Uhr
Goto Top
if(!file_exists("count.txt"))  
{$counter=fopen("count.txt", "a" );}  
else
{$counter=fopen("count.txt","r+");}  
$aufruf=fgets($counter,100);
$auruf=$aufruf+1;
rewind($counter);
fputs($counter,$aufruf);
fclose($counter);
echo $aufruf;

Getestetes Codeschnippsel! face-smile
masterG