FTP-Zugriff ohne FTP-Programm per php

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

FTP-Zugriff ohne FTP-Programm per php

Postby mictp » 09. June 2014 15:49

Hallo,

klingt vorangig etwas 'blauäugig' .. es geht aber darum aus einem php-Programm per
Code: Select all
ftp_connect(host,port)

auf ein Verzeichnis zugreifen zu können.

Hostname = localhost
Port = 21

Damit sollte die Verbindung unter Xampp aus dem php.script möglich sein.
Bekomme aber andauernd die Fehlermeldung dass die Verbindung nicht möglich sei.

Kann es sein dass nicht localhost und/oder nicht Port 21 zu verwenden sind?
Bei der Installation handelt es sich um 08/15 lokale Installation welche ausschliesslich lokal verwendet wird (kein Zugriff von aussen).

Und nein, es soll kein irgendwas FTP-Server (wie der inkludierte FileZilla) verwendet werden, der Zugriff muss aus dem Script heraus erfolgen können.

Kann mir eventuell da weiter helfen?
Danke schon mal im Voraus.
mictp
 
Posts: 11
Joined: 16. December 2005 07:13

Re: FTP-Zugriff ohne FTP-Programm per php

Postby Nobbie » 09. June 2014 16:29

mictp wrote:Und nein, es soll kein irgendwas FTP-Server (wie der inkludierte FileZilla) verwendet werden, der Zugriff muss aus dem Script heraus erfolgen können.


Nicht "Und nein", sondern "Und doch"-

WENN Du auf diese Weise auf localhost zugreifen willst (localhost = eigener Rechner) und in PHP die FTP-Schnittstelle benutzen willst (und das tust Du mit ftp_connect() usw.), dann MUSS auf dem Zielrechner (in diesem Fall also localhost, also Dein eigener) ein FTP-Server installiert sein. Ohne wenn und aber. Das geht nicht anders.

Dein PHP-Script übernimmt die Rolle des FTP-Clients dabei. Aber ohne einen FTP-Server ist Dein gewünschtes Resultat nicht realisierbar. FileZIlla ist übrigens eine (recht seltene) eierlegende Wollmilchsau, denn das ist nicht nur als FTP-Client verwendbar (aber da möchtest Du ja Dein PHP einsetzen), sondern FileZilla gibt Dir auch die Möglichkeit, einen FTP-Server einzurichten. Das ist wirklich sehr selten, die meisten Produkte sind entweder Client oder Server. Wenn man das mal auf HTTP anstatt FTP überträgt, dann bedeutet das, Du hast da eine Software, die sowohl ein Client ist (und bei HTTP wäre das ein Browser, also zum Beispiel InternetExplorer, oder Firefox oder Google Chrome), aber auch als Server benutzt werden kann, also anstelle von Apache zum Beispiel. Eine heftige Vorstellung, oder nicht? Dennoch kann FileZilla das, aber eben nur für FTP, nicht für HTTP.

Was man machen könnte (ich weiß ja nicht, woher diese Anforderung kommt), dass man das entsprechende Script und die Stellen mit dem entsprechenden Zugriff insoweit ändert, als dass man nicht per FTP zugreift, sondern mit ganz normalen Dateioperationen (kopieren oder zum Lesen oder Schreiben öffnen oder was auch immer), denn auf die Dateien des "localhost" hat man nicht nur via TCPIP (das ist die "Schicht" unterhalb von FTP) Zugriff, sondern auch ganz normal über das Dateisystem (letzteres ist nicht möglich, wenn beispielsweise statt "localhost" dort http://www.google.de oder so steht, normalerweise hat man auf entfernte Server natürlich keinen direkten Dateizugriff).

Aber wenn Du ftp_connect() usw. einsetzen willst, führt KEIN WEG daran vorbei, Du MUSST einen FTP Server auf Deinem Rechner installieren und laufen lassen.
Nobbie
 
Posts: 8762
Joined: 09. March 2008 13:04

Re: FTP-Zugriff ohne FTP-Programm per php

Postby mictp » 09. June 2014 17:40

Danke für die ausführliche Antwort.
Bin inzwischen schon selber auf diesen Schluss gekommen.

War nur vorhin irgendwie ( keine ahnung wo ..), da das Script das nicht von mir ist, eben u.a. mit ftp_connect() arbeitet.
Da ich selber solche Sachen anders löse (curl z.B.), stand ich momentan 'an'.

Muss der Entwickler vom dem Script noch eine Alternativlösung entwickeln da wenn jemand lokal arbeitet und eben keinen FTP-Server aktiviert hat, funktioniert es nicht.
Und nur wegen dem 1 Aufruf gleich einen FTP-Server zu installieren wird für manche (und für mich) unzumutbar sein.
Noch dazu wo es nur zum kopieren (ftp_put()), lesen (ftp_nlist()) sowie Verzeichnis erstellen (ftp_mkdir()) ist.
Das geht - wie Du richtig sagst - auch anders!

Nochmals vielen Dank!
mictp
 
Posts: 11
Joined: 16. December 2005 07:13

Re: FTP-Zugriff ohne FTP-Programm per php

Postby Nobbie » 09. June 2014 19:11

mictp wrote:Muss der Entwickler vom dem Script noch eine Alternativlösung entwickeln da wenn jemand lokal arbeitet und eben keinen FTP-Server aktiviert hat, funktioniert es nicht.


Das wird dem Entwickler mit einiger Wahrscheinlichkeit egal sein, es gibt dieses Problem in sehr vielen Umgebungen (Wordpress, Joomla usw.), das sind eben Produktionsumgebungen und für Entwickler ist das keine notwendige Option, eine Umgehungslösung einzubauen, wenn Client und Server der gleiche Rechner sind. Auch so eine Umgehungslösung kann kompliziert aussehen, weil dann lokale Dateiberechtigungen im Weg stehen - also das ist nicht zwingend einfacher zu handeln. Und wie gesagt, das ist für den EInsatz solcher Scripts nicht notwendig.

mictp wrote:Und nur wegen dem 1 Aufruf gleich einen FTP-Server zu installieren wird für manche (und für mich) unzumutbar sein.


So schwer ist das aber nicht und aus Sicht des EIntwicklers bist Du für den Einsatz des Scripts so oder gezwungen, einen FTP Server einzurichten, der Sonderfall, dass Client gleich Server ist, ist ja im Internet vollkommen unbekannt. Das passiert im Grunde nur "zu Hause".

Wesentlich einfacher dürfte es in der Tat sein, wenn Du mit Filezilla einen minimalistischen FTP Server einrichtest. Wenn Du darauf wartest, dass das Script (leider nennst Du es nicht) angepasst wird, dann kannst Du möglicherweise sehr lange warten. Also ich als Entwickler täte es nicht.

Im Grunde ist Deine Forderung vergleichbar, als wenn man für das Script auch keinen Apache Server einrichten müßte, denn auch das könnte man ja alles umgehen, weil alles lokal liegt. Aber das ist nicht der richtige Weg, und genauso wie Du für eine lokale Testumgebung einen HTTP Server einrichten musst, so musst Du ggf. auch einen FTP Server einrichten. Das ist nun einmal so, wenn man alles zu Hause testen will, ohne einen Server im Internet zu besitzen. Es ist ja auch kein Zufall, dass Xampp auch einen FTP Server ausliefert.
Nobbie
 
Posts: 8762
Joined: 09. March 2008 13:04

Re: FTP-Zugriff ohne FTP-Programm per php

Postby mictp » 10. June 2014 07:56

Nobbie wrote:So schwer ist das aber nicht und aus Sicht des EIntwicklers bist Du für den Einsatz des Scripts so oder gezwungen, einen FTP Server einzurichten, der Sonderfall, dass Client gleich Server ist, ist ja im Internet vollkommen unbekannt. Das passiert im Grunde nur "zu Hause".

Wesentlich einfacher dürfte es in der Tat sein, wenn Du mit Filezilla einen minimalistischen FTP Server einrichtest. Wenn Du darauf wartest, dass das Script (leider nennst Du es nicht) angepasst wird, dann kannst Du möglicherweise sehr lange warten. Also ich als Entwickler täte es nicht.

Im Grunde ist Deine Forderung vergleichbar, als wenn man für das Script auch keinen Apache Server einrichten müßte, denn auch das könnte man ja alles umgehen, weil alles lokal liegt. Aber das ist nicht der richtige Weg, und genauso wie Du für eine lokale Testumgebung einen HTTP Server einrichten musst, so musst Du ggf. auch einen FTP Server einrichten. Das ist nun einmal so, wenn man alles zu Hause testen will, ohne einen Server im Internet zu besitzen. Es ist ja auch kein Zufall, dass Xampp auch einen FTP Server ausliefert.


Es soll Situationen geben wo man kein Internet zur Verfügung hat ...
Abgesehen davon gibt es zuviele da draußen die von 'tuten & blasen' keine Ahnung haben - denen dann auch noch erklären wie ein lokaler FTP-Server einzurichten ist erspare ich mir gerne.

Prinzipiell muss ein Programm in der Lage sein, auch lokal arbeiten zu können ohne dass man irgendwas zusätzliches benötigt: hier Fileserver & Internet.
Abgesehen vom lokalen Webserver der ja mit einer Standardinstallation des Xampp schnell erledigt ist.

Und wenn ich lokal etwas testen möchte hat das schon seinen Grund.
Ansonsten richte ich mir einen Platz auf einen meiner Server im Rechenzentrum ein (das dann sowieso zum finalen testen gemacht wird).

Das Script - nach dem Du gefragt hattest - ist ein Onlineshop.
Es anzupassen ist für mich ein Leichtigkeit - programmiere seit über 20 Jahren.
mictp
 
Posts: 11
Joined: 16. December 2005 07:13

Re: FTP-Zugriff ohne FTP-Programm per php

Postby Nobbie » 10. June 2014 10:56

mictp wrote:Es soll Situationen geben wo man kein Internet zur Verfügung hat ...


Dann kann man eben damit nicht arbeiten, das Script ist ausschließlich für den Einsatz im Internet programmiert.

mictp wrote:Abgesehen davon gibt es zuviele da draußen die von 'tuten & blasen' keine Ahnung haben - denen dann auch noch erklären wie ein lokaler FTP-Server einzurichten ist erspare ich mir gerne.


Das ist ja auch das Problem, dass es zu viele gibt, die von "tuten und blasen" keine Ahnung haben, sich aber trotzdem so eine schwere Aufgabe aufbürden. Dazu braucht man eben spezielles KnowHow. Das ist nun einmal Spezialistenwissen, das kann der Entwickler eines Scripts für so eine Umgebung nicht ändern.

mictp wrote:Prinzipiell muss ein Programm in der Lage sein, auch lokal arbeiten zu können ohne dass man irgendwas zusätzliches benötigt: hier Fileserver & Internet.


Dieser Meinung bin ich überhaupt ganz und gar nicht. Das ist ein Script, welches Dir für das Internet zur Verfügung gestellt wird und das bestimmte Voraussetzungen erfüllen muss und wenn Anwender mangels Wissen nicht in der Lage sind, diese Voraussetzungen einzurichten, dann können sie es eben nicht in diesem Umfeld (hier: zu Hause) benutzen. FTP ist ja nur eine Minimalkomponente, HTTP wird benötigt, PHP wird benötigt, MySQL wird benötigt und alles das auch noch so konfiguriert, dass es zusammenpasst.

Mit Xampp hast Du schon großes Glück, dass damit eine solche Infrastruktur in großen Teilen zur Verfügung steht. Ohne Xampp müßtest Du alles selbst konfigurieren.

mictp wrote:
Abgesehen vom lokalen Webserver der ja mit einer Standardinstallation des Xampp schnell erledigt ist.


Eben - Glück gehabt. Aber Xampp liefert auch einen FTP Server aus - aber den willst Du nicht benutzen. Dann musst Du eben auf diesen Teil der Funktionalität verzichten.

mictp wrote:
Und wenn ich lokal etwas testen möchte hat das schon seinen Grund.


Das hat sicherlich seinen Grund - aber es ist eben DEIN Grund. Und das kann man auch lokal testet, in dem man lokal die Installationsvoraussetzungen erfüllt.

mictp wrote: Das Script - nach dem Du gefragt hattest - ist ein Onlineshop.
Es anzupassen ist für mich ein Leichtigkeit - programmiere seit über 20 Jahren.


Dann mache es doch einfach. Der Entwickler wird es ganz sicher nicht tun. Wobei ich nicht verstehe, wenn man wirklich seit Jahren programmieren kann, was Dich daran hindert, den FTP Server einzurichten? Das sind drei bis vier Klicks, ein Verzeichnis freigeben, einen User anlegen mit den notwendigen Berechtigungen freigeben und fertig.

Letztendlich ist mir das wirklich egal. Du hast eine Frage gestellt, die habe ich vollumfänglich beantwortet, alles weitere ist Deine Entscheidung. Und wenn Du der Meinung bist, das Script müsse vom Entwickler so angepasst werden, dass es auch ohne FTP Server läuft, dann wende Dich an den Entwickler und teile ihm das mit. Ich habe damit nichts am Hut.
Nobbie
 
Posts: 8762
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 12 guests