Fehler: Current restricted directory is /

swissgregi

New Member
Hallo

Ich habe ein NAS zuhause.
Nun habe ich bisher immer problemlos ein FTP Backup von meinem Webspace auf mein NAS per FTP gemacht.
Dazu wurde ein PHP Script auf dem Webspace aufgerufen, welche die FTP funktionen von PHP benutzen. Das hat auch immer geklappt.

Nun habe ich einen neuen Internetanschluss mit neuem Modem/Router.
Im FTP-Server meines NAS ist der Port 21 eingeschaltet, plus port 4640 - 4680 für die Datenübertragung.
Im Moden/Router habe ich entsprechend die Portweiterleitung konfiguriert.

Eine Verbindung, Verzeichniswechsel und Upload funktioniert problemlos mit einem PC übers Internet(nicht lokal).

Beim Webspace über das PHP Script kann ich mich zwar problemlos beim FTP Server auf meinem NAS zuhause einloggen, allerdings erhalte ich beim Verzeichniswechsel oder Upload folgende Fehlermeldung:
PHP:
Warning: ftp_chdir()[function.ftp-chdir]: OK. Current restricted directory is / in /****/test.php on line 9

Beispielsweise auch bei folgendem simplen PHP-Script:
PHP:
<?php
$ftp_server = '**********'; //External FTP server
$ftp_user_name = ''**********'; '; //External FTP server username
$ftp_password = ''**********'; '; //External FTP server password

$conn_id = ftp_connect($ftp_server,21,5);
ftp_login($conn_id, $ftp_user_name, $ftp_password);
ftp_pasv($conn_id, true);
ftp_chdir($conn_id,"/verzeichnis");
ftp_close($conn_id);
?>

Was mache ich falsch?
Ich muss den passiven Modus benutzen. Im Aktiven Modus erhalte ich keine Verbindung.
 
Last edited by a moderator:
Wenn du die Meldung nicht willst, dann so:

Code:
$result = @ftp_chdir($conn_id,"/verzeichnis");
if (!$result) { // Error!
  // musst du wissen, was du dann machst
}
 
Die Meldung ist nicht das Problem. Die sagt mir ja das was nicht in ordnung ist. :)

Mein Problem ist, dass ich mit allen Computer problemlos mit dem gleichen Login auf den FTP Server zugreifen kann, und Dateien übertragen kann. (Lokal wie auch übers Internet)

Doch versuche ich es mit dem Script, kann ich mich einloggen, kann aber nicht das Verzeichnis wechseln, auflisten, oder etwas uploaden.
Immer erhalte ich diesen Fehler.

Merkwürdig ist, dass ich mich problemlos mit dem Script beim FTP-Server einloggen kann. Sobald ich dann irgend etwas anderes machen will, erhalte ich den genannten Fehler.
 
Wenn der Server folgendes liefert
230 OK. Current restricted directory is /
ist das eigentlich kein Fehler.

Oder welchen Statuscode gibt der zurück?
 
Den Statuscode kann ich leider nicht auslesen, da ich die standard FTP Funktionen von PHP benutze.
Oder ich wüsste nicht wie.
Wenn ich mich von einem andere PC einlogge, habe ich keine Probleme.
Die Probleme bestehen ja nur bei dem Webhoster (servage.net).

Ich habe das ganze auch mal mit Curl probiert.
Das script habe ich von http://www.selfphp.de/kochbuch/kochbuch.php?code=68 übernommen.
Ging ebenfalls nicht.

Dabei erhalte ich die Ausgabe:
PHP:
Dateigröße: 0.0 KiloByte/s
Geschwindigkeit: 0.0 KiloByte/s
Gesamtzeit: 13.5 Sek.

Array ( [url] => ftp://******:******@****.no-ip.org:21/****/testfile.txt [content_type] => [http_code] => 500 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 13.46588 [namelookup_time] => 1.015938 [connect_time] => 1.065105 [pretransfer_time] => 3.456139 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => 0 [upload_content_length] => 0 [starttransfer_time] => 0 [redirect_time] => 0 [certinfo] => Array ( ) )
 
Back
Top