2010-02-18 13 views

Odpowiedz

2

Istnieje wiele sposobów, aby to zrobić. wybiorę pierwszy sobie, bo to najłatwiej skonfigurować:

  • Jeśli masz PHP + Apache na innym serwerze, wystarczy zadzwonić jakiś skrypt na innym serwerze za pomocą file_get_contents z http URL as filename lub jeśli używasz cURL trzeba również POST.
  • Jeśli serwery znajdują się w tej samej sieci lokalnej (LAN, VPN), można użyć akcji Windows/Samba lub NFS zamontować zdalny katalog do ciebie lokalnego systemu plików i po prostu zapisać do pliku bezpośrednio za pomocą fopen/funkcje fwrite
  • Zastosowanie SSH poprzez SCP lub SFTP
0

Ogólnie rzecz biorąc, FTP jest jedynym regularnym i łatwo dostępnym sposobem (w PHP) do utworzenia pliku na innym serwerze.

Istnieją oczywiście inne protokoły, które pozwalają utworzyć plik, ale wszystkie one wymagają instalacji oprogramowania na jednym lub obu serwerach:

  • Samba (by umożliwić dostęp do zdalnego serwera poprzez absolutną ścieżka do pliku)
  • WebDaV (biblioteki PHP client)
  • SCP (Znalezienie klienta PHP jest prawdopodobnie będzie ciężko)

Jeśli oba serwery uruchamiają PHP, prawdopodobnie najłatwiej jest ustawić skrypt PHP na serwerze zdalnym, który akceptuje dane pliku przez POST i zapisuje go do lokalnego pliku. Nie jest to jednak doskonałe rozwiązanie ze względu na ograniczenia zwykle nakładane na pliki POST.

+0

Nie chodzi o mnie, ale PHP wspiera SCP za pomocą SSH - zobacz moją odpowiedź na linki. –

+0

@Andy dobrze wiedzieć, okrzyki. –

+0

Ogólnie rzecz biorąc, FTP nie jest tak naprawdę dostępny wszędzie i stanowi ogromną lukę w zabezpieczeniach. Wszystkie inne rozwiązania, o których wspomniałeś, przewyższają ją. Zastanawiam się również, dlaczego uważasz, że post HTTP nie jest zorientowany na wydajność, gdy ma najmniejszy wpływ na wszystkie inne rozwiązania? –

1

PHP umożliwia wysyłanie plików przez SSH - patrz rodzina funkcji ssh2 *, w szczególności ssh2_scp_send i ssh2_scp_recv.

Nigdy ich nie używałem, ale infrastruktura jest dostępna w systemie Linux, podobnie jak SMB w systemie Windows.

0

można zawsze używać DAV, ale może wymagać pewnej konfiguracji na serwerze odbiorczym. Istnieje również SSHFS, który pozwala łatwo zainstalować lokalny katalog zdalny w tunelu SSH lub po prostu użyć rodziny funkcji ssh2_ * jako Andy Shellam suggested.

Naprawdę, istnieje wiele sposobów, aby to osiągnąć.

Powiązane problemy